在阿里云 ECS 上部署 Ubuntu + LNMP(Linux, Nginx, MySQL, PHP)并运行 WordPress,核心在于环境搭建、安全配置与性能调优。以下是基于当前主流版本(Ubuntu 22.04 LTS, Nginx 1.x, MySQL 8.0, PHP 8.x)的标准化实操流程。
一、前置准备:ECS 控制台配置
- 实例选择:登录阿里云控制台,创建 ECS 实例。
- 操作系统:选择 Ubuntu Server 22.04 LTS。
- 网络与安全组:确保开放端口
80(HTTP),443(HTTPS),22(SSH)。若仅做测试,可暂时开放3306,但生产环境严禁直接对公网开放数据库端口,需通过安全组限制 IP 或后续配置内网访问。
- 系统初始化:
- 使用 SSH 客户端(如 Terminal, PuTTY)连接服务器:
ssh root@<你的公网 IP>。 - 更新软件源(防止安装旧版依赖):
sudo apt update && sudo apt upgrade -y - 安装基础工具:
sudo apt install -y curl git vim unzip wget htop
- 使用 SSH 客户端(如 Terminal, PuTTY)连接服务器:
二、安装 Web 服务器 (Nginx)
LNMP 中的 N 代表 Nginx,相比 Apache 在处理高并发时更具优势。
- 安装 Nginx:
sudo apt install -y nginx - 验证状态:
systemctl status nginx # 确保状态为 active (running) - 配置域名解析(可选但推荐):
- 在阿里云 DNS 控制台,将你的域名 A 记录指向 ECS 公网 IP。
- 本地 hosts 文件测试:
sudo vim /etc/hosts,添加127.0.0.1 your-domain.com。
三、安装数据库 (MySQL/MariaDB)
国内云厂商通常推荐直接使用官方源或 MariaDB 替代方案。此处以原生 MySQL 8.0 为例。
-
安装 MySQL Server:
sudo apt install -y mysql-server -
安全加固(必须执行):
MySQL 安装后会附带一个安全脚本,用于移除匿名账户、禁止远程 root 登录等。sudo mysql_secure_installation- 按提示设置 root 密码(建议强密码)。
- 删除匿名用户 (Y)。
- 禁止 root 远程登录 (Y)。
- 删除测试数据库 (Y)。
- 重载权限表 (Y)。
-
创建 WordPress 专用数据库:
sudo mysql -u root -p进入 MySQL 命令行后执行:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'wp_user'@'localhost' IDENTIFIED BY '你的强密码'; GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
四、安装 PHP 及扩展
WordPress 高度依赖 PHP,且需要特定扩展支持。
-
安装 PHP-FPM 及相关模块:
Ubuntu 22.04 默认源可能包含较新版本,我们安装 PHP 8.x 及其常用扩展:sudo apt install -y php-fpm php-mysql php-gd php-curl php-xml php-mbstring php-intl php-zip -
优化 PHP 配置:
编辑主配置文件/etc/php/8.1/fpm/php.ini(版本号视实际安装情况而定,可能是 8.2 等):sudo vim /etc/php/8.1/fpm/php.ini修改以下关键参数(根据服务器内存调整):
memory_limit = 256Mmax_execution_time = 300upload_max_filesize = 64Mpost_max_size = 64Mdate.timezone = Asia/Shanghai(解决时区问题)
-
重启服务:
sudo systemctl restart php8.1-fpm sudo systemctl enable php8.1-fpm
五、配置 Nginx 站点
-
创建网站目录:
sudo mkdir -p /var/www/wordpress sudo chown -R www-data:www-data /var/www/wordpress sudo chmod -R 755 /var/www/wordpress -
下载 WordPress:
cd /tmp wget https://cn.wordpress.org/latest-zh_CN.tar.gz tar -xzvf latest-zh_CN.tar.gz cp -r wordpress/* /var/www/wordpress/ rm -rf wordpress latest-zh_CN.tar.gz -
生成 Nginx 配置文件:
sudo vim /etc/nginx/sites-available/wordpress粘贴以下内容(注意替换
your-domain.com为你的实际域名):server { listen 80; listen [::]:80; server_name your-domain.com; # 替换为你的域名 root /var/www/wordpress; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; # 注意版本号匹配 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # 禁止访问敏感文件 location ~ /.ht { deny all; } location ~ /.git { deny all; } } -
启用站点并测试配置:
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl reload nginx
六、完成 WordPress 安装向导
-
上传 wp-config.php:
此时/var/www/wordpress/wp-config-sample.php还在。我们需要重命名它,并填入刚才创建的数据库信息。sudo cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php sudo nano /var/www/wordpress/wp-config.php找到以下行并修改:
define( 'DB_NAME', 'wordpress' ); define( 'DB_USER', 'wp_user' ); define( 'DB_PASSWORD', '你的强密码' ); define( 'DB_HOST', 'localhost' );注:如果是阿里云 RDS,DB_HOST 则改为 RDS 的内网地址。
-
浏览器访问:
打开浏览器访问http://your-domain.com,按照页面提示完成“5 分钟安装”,设置管理员账号和密码。
七、生产环境关键加固(必读)
作为云服务器运维,安全是重中之重。
-
配置 HTTPS (SSL):
强烈建议使用 Let’s Encrypt 免费证书。sudo apt install -y certbot python3-certbot-nginx sudo certbot --nginx -d your-domain.comCertbot 会自动修改 Nginx 配置并重定向 HTTP 到 HTTPS。
-
防火墙配置 (UFW):
sudo ufw allow OpenSSH sudo ufw allow 'Nginx Full' sudo ufw enable -
定期备份策略:
- 代码备份:利用阿里云 OSS 或对象存储,编写脚本每日自动同步
/var/www/wordpress目录。 - 数据备份:使用
mysqldump定时任务备份数据库。 - 快照功能:在重大操作前,务必在阿里云控制台对 ECS 实例打自定义快照。这是最底层的兜底手段。
- 代码备份:利用阿里云 OSS 或对象存储,编写脚本每日自动同步
-
性能优化建议:
- 安装 Redis 并配置 WP Super Cache 或 W3 Total Cache 插件进行缓存提速。
- 开启 Nginx Gzip 压缩。
- 根据业务量,考虑将静态资源(图片、CSS/JS)迁移至阿里云 OSS + CDN 分发,减轻 ECS 带宽压力。
遵循以上步骤,即可构建一个安全、稳定且具备一定扩展性的 WordPress 建站环境。
CLOUD云枢