阿里云ECS Ubuntu实例安装Nginx、MySQL、PHP并运行WordPress需要注意哪些配置?

在阿里云ECS上使用Ubuntu实例部署Nginx、MySQL、PHP并运行WordPress,需要进行一系列配置以确保系统安全、稳定和高效。以下是详细的注意事项和关键配置步骤:


一、环境准备(Ubuntu)

  1. 更新系统

    sudo apt update && sudo apt upgrade -y
  2. 设置时区(可选)

    sudo timedatectl set-timezone Asia/Shanghai
  3. 创建普通用户并禁用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

  1. 下载并解压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
  2. 配置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特别注意事项

  1. 安全组规则

    • 开放端口:80 (HTTP), 443 (HTTPS), 22 (SSH)
    • 建议限制SSH访问IP(如仅允许公司IP)
  2. 实例规格选择

    • 至少2核4GB内存用于生产环境
    • 使用SSD云盘提升I/O性能
  3. 监控与告警

    • 启用云监控,设置CPU、内存、磁盘告警
  4. 快照备份

    • 定期创建系统盘快照

七、后续维护建议

  • 定期更新系统和软件包
  • 更新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模板 实现一键部署。