Skip to content

应用上云2

🚀 手动部署 LNMP 架构并安装 WordPress

为实现网站环境的完全自主管理,可手动部署 LNMP 架构并安装 WordPress,从而灵活构建博客、门户网站。

📖 准备工作

准备工作

  • 开通公网:为实例分配固定公网 IP 地址或绑定 弹性公网 IP (EIP)

  • 添加安全组规则:实例的 安全组 入方向放行 TCP 协议的 2280 端口。

⚙️ 操作步骤

Alibaba Cloud Linux 3 OS 为例部署 WordPress 6.4.4 实操

步骤一:部署 LNMP 环境

  1. 登录 ECS 实例
    • 访问 ECS控制台-实例。在页面左侧顶部,选择目标资源所在的 资源组地域
    • 进入目标实例详情页,单击 远程连接,选择通过 Workbench 远程连接。根据页面提示登录,进入终端页面。
  2. 部署LNMP环境
    • 安装 NginxMySQLPHP 等核心组件。
    • WordPressPHPMySQL 版本存在依赖关系,版本不匹配则会导致安装失败。具体依赖信息,请参见 WordPress Compatibility
💡 2.2 mysql 问题 (执行 sudo mysql_secure_installation 还是无法登陆 mysql 问题)

MySQL 8.4 重置 root 密码标准流程(Alibaba Cloud Linux 3/CentOS 8)

  • 适用场景:执行 mysql_secure_installation 后登录报错,无需清空认证配置。
  • 核心:正常免密模式下直接重置密码,适配 MySQL 8.4 默认认证插件。
  1. 停止并禁用 MySQL 服务
sudo systemctl stop mysqld
sudo systemctl disable mysqld
  1. 免密码模式启动 MySQL
sudo mysqld --skip-grant-tables --skip-networking --user=mysql &
  1. 无密码登录 MySQL
mysql -u root
  1. 执行 SQL 重置密码(直接复制,替换你的密码)
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
FLUSH PRIVILEGES;
EXIT;
  1. 关闭免密进程,恢复正常启动
sudo pkill -9 mysqld
sudo systemctl enable mysqld
sudo systemctl start mysqld
  1. 测试登录
mysql -u root -p

步骤二:创建 WordPress 数据库

WordPress 创建一个专用的数据库和数据库用户。

  1. 登录 MySQL。密码为搭建 LNMP 环境时为数据库设置的密码。
mysql -u root -p
  1. 创建数据库和用户并授权

📌 【注意】

请记录数据库名称、用户名和密码,供后续步骤使用。

-- 创建名为 wordpress 的数据库
CREATE DATABASE WORDPRESS_DATABASE;

-- 创建一个专用用户并设置强密码
CREATE USER 'WORDPRESS_USER'@'localhost' IDENTIFIED BY 'WORDPRESS_PASSWORD';

-- 赋予该用户对 wordpress 数据库的全部权限
GRANT ALL PRIVILEGES ON wordpress.* TO 'WORDPRESS_USER'@'localhost';

-- 刷新权限使配置生效
FLUSH PRIVILEGES;

-- 退出MySQL
EXIT;

MySQL 在 5.7 版本后默认安装了密码强度验证插件。规则:长度 8-30 字符,需包含大小写字母、数字和符号 () ~!@#$%^&*-+=|{}[]:;‘<>,.?/

步骤三:下载并配置 WordPress

  1. 下载源码。进入 Nginx 网站根目录,下载 6.4.4 中文版 WordPress
sudo cd /usr/share/nginx/html
sudo wget [https://cn.wordpress.org/wordpress-6.4.4-zh_CN.zip](https://cn.wordpress.org/wordpress-6.4.4-zh_CN.zip)
  • 如需安装英文版本,请将 URL 替换为 https://wordpress.org/wordpress-6.4.4.zip
  1. 解压文件。安装 unzip 命令并解压压缩包。
sudo yum install unzip -y
sudo unzip wordpress-6.4.4-zh_CN.zip
  1. 配置 wp-config.php
cd /usr/share/nginx/html/wordpress
sudo cp wp-config-sample.php wp-config.php
  1. 编辑数据库信息。执行 sudo vim wp-config.php,按 i 键进入编辑模式。
/** WordPress 数据库的名称 */
define('DB_NAME', 'WORDPRESS_DATABASE');

/** MySQL 数据库用户名 */
define('DB_USER', 'WORDPRESS_USER');

/** MySQL 数据库密码 */
define('DB_PASSWORD', 'WORDPRESS_PASSWORD');

/** MySQL 主机 */
define('DB_HOST', 'localhost');

修改完成后,按 Esc 键,输入 :wq 并按 Enter 键保存退出。

步骤四:配置 Nginx

修改 Nginx 的默认站点配置,使其正确处理 PHP 请求。

  1. 备份并编辑配置
sudo mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
sudo vim /etc/nginx/conf.d/default.conf
  1. 更新根目录。按 i 键进入编辑模式,在 serverlocation ~ .php$ 模块内,将 root 后的内容替换为 /usr/share/nginx/html/wordpress。按 Esc 键,输入 :wq 保存退出。

p899770

  1. 检查并重启
sudo nginx -t
sudo systemctl restart nginx

若检查语法报错,可通过 sudo mv /etc/nginx/conf.d/default.conf.bak /etc/nginx/conf.d/default.conf 恢复。

步骤五:安装并登录 WordPress 网站

  1. 在本地浏览器访问 http://ECS实例公网IP
  2. 填写网站基本信息,然后单击 安装 WordPress 按钮。
  3. 安装成功后,单击 登录,使用上一步设置的凭据进入。
  4. 若成功登录,表示 WordPress 已成功运行。更多信息请参见 WordPress官网使用文档

🚀 后续步骤

  • 通过 FTP 管理文件:搭建 搭建FTP站点(Linux) 以管理主题和插件。

  • 解析域名并配置 HTTPS

    • 域名注册与备案:若托管在阿里云中国内地服务器,需完成 ICP备案流程

    • 设置域名解析:将域名解析至 ECS 公网 IP。

    • 替换域名:登录 MySQL 并执行(mysql -u root -p):

      use wordpress;
      UPDATE wp_options SET option_value = replace(option_value, 'http://PUBLIC_IP', 'http://DOMAIN') where option_name = 'home' OR option_name = 'siteurl';
      EXIT;
  • 配置 SSL 证书 (HTTPS):部署部署SSL证书 启用加密传输,提升浏览器信任与 SEO

❓ 常见问题

📌 【常见问题排查】

1. 无法通过公网 IP 访问?

  • 检查安全组:确认已放行 80 端口。
  • 检查防火墙:确认系统内 firewalld 未阻止流量。
  • 服务状态:执行 sudo systemctl status nginx 确保服务处于 active (running)

2. 设置固定链接后页面跳转 404?

Nginx 配置文件 location / 模块内添加:

try_files $uri $uri/ /index.php?$args;

随后重启 Nginx

3. 更新提示需要 FTP 登录凭证?

wp-config.php 最下方添加:

define("FS_METHOD","direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);

若无效,修正目录所有权:sudo chown -R nginx /usr/share/nginx/html/wordpress

4. 修改 MySQL 5.7 默认用户和密码?

无法通过公网IP访问WordPress?

  • 检查安全组与防火墙:确认实例安全组已放行80端口。

  • 检查防火墙:确认操作系统内部防火墙(如firewalld)没有阻止80端口。

  • 检查服务状态:在ECS上运行sudo systemctl status nginxsudo systemctl status php-fpm,确保服务处于active (running) 状态。

  • 检查端口监听:确认80端口正被监听。

具体排查方法,请参见无法访问ECS实例中的服务的排查方法

WordPress中设置固定链接后,跳转页面无法访问?

网站设置为静态网页有利于搜索引擎收录网站。在对WordPress站点设置固定链接前,需要先在Nginx服务器中设置静态规则。

  1. 远程连接实例,打开Nginx配置文件。

    sudo vim /etc/nginx/conf.d/default.conf

    i键进入编辑模式,在location /模块内,添加如下代码。

    try_files $uri $uri/ /index.php?$args;

    Esc键,输入:wq后按Enter键,保存退出配置文件。

  2. 重启Nginx服务,使配置生效。

    sudo systemctl restart nginx

WordPress中更新版本、上传主题或插件时,提示需要FTP登录凭证或无法创建目录?

该问题可能是因为WordPress配置文件、主题或插件的权限不足,可以参考以下步骤解决。

  1. 登录ECS实例,打开WordPress配置文件。

    sudo vim /usr/share/nginx/html/wordpress/wp-config.php

    i键进入编辑模式,在最下方,添加如下代码。

    define("FS_METHOD","direct");
    define("FS_CHMOD_DIR", 0777);
    define("FS_CHMOD_FILE", 0777);

    Esc键,输入:wq后按Enter键,保存退出配置文件。

  2. 返回WordPress仪表盘,刷新页面,可解决需要FTP登录凭证的问题。

    如果仍存在无法创建目录的问题,将网站根目录的权限用户更新为Nginx对应的用户nginx

    sudo chown -R nginx /usr/share/nginx/html/wordpress

如何修改WordPress镜像中的MySQL 5.7数据库的默认用户名和密码?

  1. 远程连接ECS实例,登录MySQL数据库。

    mysql -u root -p
  2. 进入mysql数据库,查看用户名。

    use mysql;
    select user from mysql.user;
  3. 修改数据库的用户名和密码。

    • 修改数据库用户名为新用户名。

      sql
      UPDATE user SET user='NEW_USER_NAME' WHERE user='USER_NAME';

      以将root用户名修改为admin为例:

      UPDATE mysql.user SET user='admin' WHERE user='root';
    • 修改数据库用户名的密码。

      sql
      ALTER USER 'USER_NAME'@'localhost' IDENTIFIED BY 'PASSWORD'

      以将root用户密码改为Password@2025!为例:

      ALTER USER 'root'@'localhost' IDENTIFIED BY 'Password@2025!';
  4. 刷新权限使修改生效,退出MySQL数据库。

    FLUSH PRIVILEGES; 
    EXIT;

📖 相关文档

⚙️ 附录:底层维护脚本备忘
-- 刷新权限(解决权限表没更新)
FLUSH PRIVILEGES;

-- 重置密码 + 切换兼容插件
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

-- 再次生效配置
FLUSH PRIVILEGES;

-- 退出
EXIT;