在阿里云ECS上使用Ubuntu实例部署Nginx、MySQL、PHP并运行WordPress,需要进行一系列配置以确保系统安全、稳定和高效。以下是详细的注意事项和关键配置步骤:
一、环境准备(Ubuntu)
-
更新系统
sudo apt update && sudo apt upgrade -y -
设置时区(可选)
sudo timedatectl set-timezone Asia/Shanghai -
创建普通用户并禁用root远程登录(安全建议)
adduser deploy usermod -aG sudo deploy修改
/etc/ssh/sshd_config:PermitRootLogin no PasswordAuthentication no # 推荐使用SSH密钥重启SSH服务:
sudo systemctl restart sshd
二、安装LNP环境(Linux + Nginx + PHP + MySQL)
1. 安装Nginx
sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx
配置注意:
- 确保防火墙放行80/443端口。
- 配置文件路径:
/etc/nginx/sites-available/default - 启用gzip压缩、缓存静态资源。
2. 安装MySQL
sudo apt install mysql-server -y
sudo mysql_secure_installation # 设置root密码,移除匿名用户等
安全配置:
- 使用强密码策略。
- 创建专用数据库用户,避免使用root连接WordPress。
- 示例创建数据库和用户:
CREATE DATABASE wordpress_db; CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'StrongPassword123!'; GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost'; FLUSH PRIVILEGES;
3. 安装PHP及扩展
sudo apt install php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
配置注意:
- 编辑
/etc/php/*/fpm/php.ini:upload_max_filesize = 64M post_max_size = 64M max_execution_time = 300 memory_limit = 256M cgi.fix_pathinfo=0 ; 安全设置 - 启动PHP-FPM:
sudo systemctl enable php*-fpm && sudo systemctl start php*-fpm
三、配置Nginx支持WordPress
编辑站点配置文件(如 /etc/nginx/sites-available/wordpress):
server {
listen 80;
server_name your-domain.com www.your-domain.com;
root /var/www/html/wordpress;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php*-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /.ht {
deny all;
}
}
启用站点:
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
四、部署WordPress
-
下载并解压WordPress
cd /tmp wget https://wordpress.org/latest.tar.gz tar -xzf latest.tar.gz sudo cp -r wordpress/* /var/www/html/wordpress/ sudo chown -R www-data:www-data /var/www/html/wordpress sudo chmod -R 755 /var/www/html/wordpress -
配置wp-config.php
cd /var/www/html/wordpress cp wp-config-sample.php wp-config.php vim wp-config.php填写数据库名、用户名、密码。
五、安全与性能优化
1. 防火墙配置(UFW)
sudo ufw allow 'Nginx Full'
sudo ufw allow OpenSSH
sudo ufw enable
2. SSL证书(Let’s Encrypt)
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your-domain.com
自动配置HTTPS,并设置自动续期。
3. 文件权限安全
- WordPress目录:
www-data所有者 wp-config.php权限设为600- 禁止执行上传目录中的PHP(在Nginx中添加):
location /wp-content/uploads/ { location ~ .php$ { deny all; } }
4. 数据库备份与定期维护
- 使用
mysqldump或宝塔等工具定期备份。 - 设置自动备份脚本。
5. 性能优化
- 启用OPcache(在
php.ini中) - 使用Redis或Memcached做对象缓存(可选)
- 安装WordPress缓存插件(如WP Super Cache)
六、阿里云ECS特别注意事项
-
安全组规则
- 开放端口:80 (HTTP), 443 (HTTPS), 22 (SSH)
- 建议限制SSH访问IP(如仅允许公司IP)
-
实例规格选择
- 至少2核4GB内存用于生产环境
- 使用SSD云盘提升I/O性能
-
监控与告警
- 启用云监控,设置CPU、内存、磁盘告警
-
快照备份
- 定期创建系统盘快照
七、后续维护建议
- 定期更新系统和软件包
- 更新WordPress核心、主题和插件
- 使用
.htaccess替代方案(Nginx不支持.htaccess,需在配置中实现重写) - 日志监控:
/var/log/nginx/access.log,/var/log/mysql/error.log
✅ 总结:关键点
| 类别 | 注意事项 |
|---|---|
| 安全 | 禁用root登录、使用SSH密钥、最小权限原则、定期更新 |
| 性能 | 合理的PHP配置、启用缓存、使用CDN |
| 备份 | 数据库+文件双备份,定期测试恢复 |
| HTTPS | 必须启用SSL加密 |
| 监控 | 阿里云监控 + 自定义日志分析 |
完成以上配置后,访问 https://your-domain.com 即可进入WordPress安装向导。
如需自动化部署,可考虑使用 Terraform + Ansible 或 阿里云ROS模板 实现一键部署。
CLOUD技术笔记