应用上云2
🚀 手动部署 LNMP 架构并安装 WordPress
为实现网站环境的完全自主管理,可手动部署 LNMP 架构并安装 WordPress,从而灵活构建博客、门户网站。
📖 准备工作
⚙️ 操作步骤
以 Alibaba Cloud Linux 3 OS 为例部署 WordPress 6.4.4 实操。
步骤一:部署 LNMP 环境
- 登录 ECS 实例
- 访问 ECS控制台-实例。在页面左侧顶部,选择目标资源所在的 资源组 和 地域。
- 进入目标实例详情页,单击 远程连接,选择通过 Workbench 远程连接。根据页面提示登录,进入终端页面。
- 部署LNMP环境
- 安装 Nginx、MySQL、PHP 等核心组件。
- WordPress 与 PHP、MySQL 版本存在依赖关系,版本不匹配则会导致安装失败。具体依赖信息,请参见 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 默认认证插件。
- 停止并禁用 MySQL 服务
sudo systemctl stop mysqld
sudo systemctl disable mysqld- 免密码模式启动 MySQL
sudo mysqld --skip-grant-tables --skip-networking --user=mysql &- 无密码登录 MySQL
mysql -u root- 执行 SQL 重置密码(直接复制,替换你的密码)
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
FLUSH PRIVILEGES;
EXIT;- 关闭免密进程,恢复正常启动
sudo pkill -9 mysqld
sudo systemctl enable mysqld
sudo systemctl start mysqld- 测试登录
mysql -u root -p步骤二:创建 WordPress 数据库
为 WordPress 创建一个专用的数据库和数据库用户。
- 登录 MySQL。密码为搭建 LNMP 环境时为数据库设置的密码。
mysql -u root -p- 创建数据库和用户并授权。
📌 【注意】
请记录数据库名称、用户名和密码,供后续步骤使用。
-- 创建名为 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
- 下载源码。进入 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。
- 解压文件。安装
unzip命令并解压压缩包。
sudo yum install unzip -y
sudo unzip wordpress-6.4.4-zh_CN.zip- 配置 wp-config.php。
cd /usr/share/nginx/html/wordpress
sudo cp wp-config-sample.php wp-config.php- 编辑数据库信息。执行
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 请求。
- 备份并编辑配置。
sudo mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
sudo vim /etc/nginx/conf.d/default.conf- 更新根目录。按 i 键进入编辑模式,在
server和location ~ .php$模块内,将root后的内容替换为/usr/share/nginx/html/wordpress。按 Esc 键,输入 :wq 保存退出。

- 检查并重启。
sudo nginx -t
sudo systemctl restart nginx若检查语法报错,可通过 sudo mv /etc/nginx/conf.d/default.conf.bak /etc/nginx/conf.d/default.conf 恢复。
步骤五:安装并登录 WordPress 网站
- 在本地浏览器访问
http://ECS实例公网IP。 - 填写网站基本信息,然后单击 安装 WordPress 按钮。
- 安装成功后,单击 登录,使用上一步设置的凭据进入。
- 若成功登录,表示 WordPress 已成功运行。更多信息请参见 WordPress官网使用文档。
🚀 后续步骤
通过 FTP 管理文件:搭建 搭建FTP站点(Linux) 以管理主题和插件。
解析域名并配置 HTTPS:
配置 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 nginx和sudo systemctl status php-fpm,确保服务处于active (running)状态。检查端口监听:确认80端口正被监听。
具体排查方法,请参见无法访问ECS实例中的服务的排查方法。
WordPress中设置固定链接后,跳转页面无法访问?
网站设置为静态网页有利于搜索引擎收录网站。在对WordPress站点设置固定链接前,需要先在Nginx服务器中设置静态规则。
远程连接实例,打开Nginx配置文件。
sudo vim /etc/nginx/conf.d/default.conf按
i键进入编辑模式,在location /模块内,添加如下代码。try_files $uri $uri/ /index.php?$args;按
Esc键,输入:wq后按Enter键,保存退出配置文件。重启Nginx服务,使配置生效。
sudo systemctl restart nginx
WordPress中更新版本、上传主题或插件时,提示需要FTP登录凭证或无法创建目录?
该问题可能是因为WordPress配置文件、主题或插件的权限不足,可以参考以下步骤解决。
登录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键,保存退出配置文件。返回WordPress仪表盘,刷新页面,可解决需要FTP登录凭证的问题。
如果仍存在无法创建目录的问题,将网站根目录的权限用户更新为Nginx对应的用户
nginx。sudo chown -R nginx /usr/share/nginx/html/wordpress
如何修改WordPress镜像中的MySQL 5.7数据库的默认用户名和密码?
远程连接ECS实例,登录MySQL数据库。
mysql -u root -p进入
mysql数据库,查看用户名。use mysql; select user from mysql.user;修改数据库的用户名和密码。
修改数据库用户名为新用户名。
sqlUPDATE user SET user='NEW_USER_NAME' WHERE user='USER_NAME';以将
root用户名修改为admin为例:UPDATE mysql.user SET user='admin' WHERE user='root';修改数据库用户名的密码。
sqlALTER USER 'USER_NAME'@'localhost' IDENTIFIED BY 'PASSWORD';以将
root用户密码改为Password@2025!为例:ALTER USER 'root'@'localhost' IDENTIFIED BY 'Password@2025!';
刷新权限使修改生效,退出MySQL数据库。
FLUSH PRIVILEGES; EXIT;
📖 相关文档
在Docker中部署WordPress,请参见使用Docker Compose部署应用。
在宝塔面板中安装WordPress,请参见手动部署宝塔面板。
如需在一台ECS实例中搭建多个Web站点,请参见Nginx服务配置多站点。
⚙️ 附录:底层维护脚本备忘
-- 刷新权限(解决权限表没更新)
FLUSH PRIVILEGES;
-- 重置密码 + 切换兼容插件
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
-- 再次生效配置
FLUSH PRIVILEGES;
-- 退出
EXIT;