使用阿里云ECS Ubuntu服务器部署LNMP和WordPress的完整步骤是什么?

在阿里云 ECS 上部署 Ubuntu + LNMP(Linux, Nginx, MySQL, PHP)并运行 WordPress,核心在于环境搭建、安全配置与性能调优。以下是基于当前主流版本(Ubuntu 22.04 LTS, Nginx 1.x, MySQL 8.0, PHP 8.x)的标准化实操流程。

一、前置准备:ECS 控制台配置

  1. 实例选择:登录阿里云控制台,创建 ECS 实例。
    • 操作系统:选择 Ubuntu Server 22.04 LTS。
    • 网络与安全组:确保开放端口 80 (HTTP), 443 (HTTPS), 22 (SSH)。若仅做测试,可暂时开放 3306,但生产环境严禁直接对公网开放数据库端口,需通过安全组限制 IP 或后续配置内网访问。
  2. 系统初始化
    • 使用 SSH 客户端(如 Terminal, PuTTY)连接服务器:ssh root@<你的公网 IP>
    • 更新软件源(防止安装旧版依赖):
      sudo apt update && sudo apt upgrade -y
    • 安装基础工具
      sudo apt install -y curl git vim unzip wget htop

二、安装 Web 服务器 (Nginx)

LNMP 中的 N 代表 Nginx,相比 Apache 在处理高并发时更具优势。

  1. 安装 Nginx
    sudo apt install -y nginx
  2. 验证状态
    systemctl status nginx
    # 确保状态为 active (running)
  3. 配置域名解析(可选但推荐)
    • 在阿里云 DNS 控制台,将你的域名 A 记录指向 ECS 公网 IP。
    • 本地 hosts 文件测试:sudo vim /etc/hosts,添加 127.0.0.1 your-domain.com

三、安装数据库 (MySQL/MariaDB)

国内云厂商通常推荐直接使用官方源或 MariaDB 替代方案。此处以原生 MySQL 8.0 为例。

  1. 安装 MySQL Server

    sudo apt install -y mysql-server
  2. 安全加固(必须执行)
    MySQL 安装后会附带一个安全脚本,用于移除匿名账户、禁止远程 root 登录等。

    sudo mysql_secure_installation
    • 按提示设置 root 密码(建议强密码)。
    • 删除匿名用户 (Y)。
    • 禁止 root 远程登录 (Y)。
    • 删除测试数据库 (Y)。
    • 重载权限表 (Y)。
  3. 创建 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,且需要特定扩展支持。

  1. 安装 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
  2. 优化 PHP 配置
    编辑主配置文件 /etc/php/8.1/fpm/php.ini(版本号视实际安装情况而定,可能是 8.2 等):

    sudo vim /etc/php/8.1/fpm/php.ini

    修改以下关键参数(根据服务器内存调整):

    • memory_limit = 256M
    • max_execution_time = 300
    • upload_max_filesize = 64M
    • post_max_size = 64M
    • date.timezone = Asia/Shanghai (解决时区问题)
  3. 重启服务

    sudo systemctl restart php8.1-fpm
    sudo systemctl enable php8.1-fpm

五、配置 Nginx 站点

  1. 创建网站目录

    sudo mkdir -p /var/www/wordpress
    sudo chown -R www-data:www-data /var/www/wordpress
    sudo chmod -R 755 /var/www/wordpress
  2. 下载 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
  3. 生成 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;
        }
    }
  4. 启用站点并测试配置

    sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
    sudo nginx -t
    sudo systemctl reload nginx

六、完成 WordPress 安装向导

  1. 上传 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 的内网地址。

  2. 浏览器访问
    打开浏览器访问 http://your-domain.com,按照页面提示完成“5 分钟安装”,设置管理员账号和密码。

七、生产环境关键加固(必读)

作为云服务器运维,安全是重中之重。

  1. 配置 HTTPS (SSL)
    强烈建议使用 Let’s Encrypt 免费证书。

    sudo apt install -y certbot python3-certbot-nginx
    sudo certbot --nginx -d your-domain.com

    Certbot 会自动修改 Nginx 配置并重定向 HTTP 到 HTTPS。

  2. 防火墙配置 (UFW)

    sudo ufw allow OpenSSH
    sudo ufw allow 'Nginx Full'
    sudo ufw enable
  3. 定期备份策略

    • 代码备份:利用阿里云 OSS 或对象存储,编写脚本每日自动同步 /var/www/wordpress 目录。
    • 数据备份:使用 mysqldump 定时任务备份数据库。
    • 快照功能:在重大操作前,务必在阿里云控制台对 ECS 实例打自定义快照。这是最底层的兜底手段。
  4. 性能优化建议

    • 安装 Redis 并配置 WP Super Cache 或 W3 Total Cache 插件进行缓存提速。
    • 开启 Nginx Gzip 压缩。
    • 根据业务量,考虑将静态资源(图片、CSS/JS)迁移至阿里云 OSS + CDN 分发,减轻 ECS 带宽压力。

遵循以上步骤,即可构建一个安全、稳定且具备一定扩展性的 WordPress 建站环境。

未经允许不得转载:CLOUD云枢 » 使用阿里云ECS Ubuntu服务器部署LNMP和WordPress的完整步骤是什么?