阿里云ACK部署WordPress全流程指南

来自:素雅营销研究院

头像 方知笔记
2025年06月29日 19:00

一、准备工作

在阿里云容器服务Kubernetes版(ACK)上部署WordPress前,需要完成以下准备工作:

  1. 阿里云账号注册与实名认证:确保拥有有效的阿里云账号并完成实名认证
  2. 开通ACK服务:在阿里云控制台中开通容器服务Kubernetes版
  3. 资源规划
  • 选择合适的地域和可用区
  • 确定集群规格(建议至少2核4GB)
  • 准备持久化存储方案(如NAS或云盘)
  1. 网络配置
  • 创建专有网络VPC和虚拟交换机
  • 配置安全组规则(开放80/443端口)

二、创建ACK集群

  1. 登录阿里云控制台,进入”容器服务Kubernetes版”
  2. 点击”创建集群”,选择”专有版”或”托管版”(新手建议托管版)
  3. 配置集群基本信息:
  • 集群名称(如wordpress-cluster)
  • Kubernetes版本(建议选择稳定版本)
  • 节点规格(建议2核4GB或更高)
  • 节点数量(生产环境至少3个)
  1. 配置网络和存储:
  • 选择已创建的VPC和虚拟交换机
  • 配置节点登录方式(密码或密钥对)
  1. 确认配置无误后,点击”创建集群”,等待约10-15分钟完成部署

三、部署WordPress应用

方法一:通过应用目录部署

  1. 在ACK控制台左侧导航栏选择”应用目录”
  2. 搜索”WordPress”并点击进入应用详情页
  3. 点击”创建”按钮,进入参数配置页面
  4. 关键参数配置:
  • WordPress配置
  • wordpressUsername: 管理员用户名(默认admin)
  • wordpressPassword: 设置强密码
  • wordpressEmail: 管理员邮箱
  • 数据库配置
  • mariadb.enabled: 是否启用内置MariaDB(测试环境可启用)
  • externalDatabase: 生产环境建议使用阿里云RDS
  • 持久化存储
  • persistence.enabled: 务必设置为true
  • 选择已有的StorageClass或创建新的
  1. 点击”创建”按钮,等待部署完成(约3-5分钟)

方法二:通过YAML文件部署

  1. 准备WordPress部署文件(wordpress-deployment.yaml):
apiVersion: apps/v1
kind: Deployment
metadata:
name: wordpress
spec:
replicas: 2
selector:
matchLabels:
app: wordpress
template:
metadata:
labels:
app: wordpress
spec:
containers:
- name: wordpress
image: wordpress:latest
ports:
- containerPort: 80
env:
- name: WORDPRESS_DB_HOST
value: "mariadb"
- name: WORDPRESS_DB_USER
value: "wordpress"
- name: WORDPRESS_DB_PASSWORD
value: "yourpassword"
volumeMounts:
- name: wordpress-persistent-storage
mountPath: /var/www/html
volumes:
- name: wordpress-persistent-storage
persistentVolumeClaim:
claimName: wordpress-pv-claim
  1. 准备数据库部署文件(mariadb-deployment.yaml):
apiVersion: apps/v1
kind: Deployment
metadata:
name: mariadb
spec:
selector:
matchLabels:
app: mariadb
template:
metadata:
labels:
app: mariadb
spec:
containers:
- name: mariadb
image: mariadb:10.5
ports:
- containerPort: 3306
env:
- name: MYSQL_ROOT_PASSWORD
value: "rootpassword"
- name: MYSQL_USER
value: "wordpress"
- name: MYSQL_PASSWORD
value: "yourpassword"
- name: MYSQL_DATABASE
value: "wordpress"
volumeMounts:
- name: mariadb-persistent-storage
mountPath: /var/lib/mysql
volumes:
- name: mariadb-persistent-storage
persistentVolumeClaim:
claimName: mariadb-pv-claim
  1. 通过kubectl应用配置:
kubectl apply -f wordpress-deployment.yaml
kubectl apply -f mariadb-deployment.yaml

四、配置服务暴露

  1. 创建Service资源(wordpress-service.yaml):
apiVersion: v1
kind: Service
metadata:
name: wordpress-service
spec:
selector:
app: wordpress
ports:
- protocol: TCP
port: 80
targetPort: 80
type: LoadBalancer
  1. 应用Service配置:
kubectl apply -f wordpress-service.yaml
  1. 获取外部访问地址:
kubectl get svc wordpress-service
  1. 在阿里云控制台配置SLB(如果需要HTTPS,可配置证书)

五、初始化WordPress

  1. 通过浏览器访问获取到的外部IP或域名
  2. 按照WordPress安装向导完成初始化设置:
  • 选择语言(中文)
  • 配置站点标题、管理员账号等信息
  1. 登录WordPress后台,开始定制您的网站

六、运维与优化建议

  1. 监控与日志
  • 启用阿里云ARMS应用实时监控
  • 配置日志服务SLS收集容器日志
  1. 备份策略
  • 定期备份WordPress文件和数据库
  • 使用阿里云快照服务备份持久化卷
  1. 性能优化
  • 配置Redis缓存提高访问速度
  • 使用CDN加速静态资源
  • 调整Pod资源限制(Requests/Limits)
  1. 安全加固
  • 定期更新WordPress核心和插件
  • 配置WAF防护Web攻击
  • 限制管理后台访问IP

常见问题解决

  1. 无法访问WordPress
  • 检查Service的externalIP是否分配
  • 验证安全组规则是否开放80端口
  • 查看Pod日志(kubectl logs )
  1. 数据库连接失败
  • 确认数据库服务正常运行
  • 检查环境变量配置是否正确
  • 验证网络策略是否允许Pod间通信
  1. 持久化存储问题
  • 确认PVC已绑定PV
  • 检查StorageClass配置是否正确
  • 验证NAS或云盘挂载权限

通过以上步骤,您已成功在阿里云ACK上部署了WordPress应用。ACK的弹性伸缩和自动化管理能力将帮助您轻松应对流量波动,确保WordPress站点稳定运行。