为实现网站环境的完全自主管理,可手动部署LNMP架构并安装WordPress,从而灵活构建博客、门户网站。
准备工作
操作步骤
以Alibaba Cloud Linux 3为例部署WordPress 6.4.4。
步骤一:部署LNMP环境
登录ECS实例。
访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。
进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。
安装Nginx、MySQL、PHP等核心组件。
WordPress与PHP、MySQL版本存在依赖关系,版本不匹配则会导致WordPress安装失败。具体依赖信息,请参见WordPress Compatibility。
步骤二:创建WordPress数据库
为WordPress创建一个专用的数据库和数据库用户。
登录MySQL。密码为搭建LNMP环境时为数据库设置的密码。
mysql -u root -p创建数据库和用户并授权。
请记录数据库名称、用户名和密码,供后续步骤使用。
-- 创建名为 wordpress 的数据库 CREATE DATABASE WORDPRESS_DATABASE; -- 创建一个专用用户 wordpress_user并设置密码,建议设置一个包含大小写字母、数字和特殊符号,长度不低于12位的强密码。 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。
如需安装WordPress英文版本,请将URL替换为
https://wordpress.org/wordpress-6.4.4.zip,后续解压的压缩包名称需替换为wordpress-6.4.4.zip。sudo cd /usr/share/nginx/html sudo wget https://cn.wordpress.org/wordpress-6.4.4-zh_CN.zip安装
unzip命令,解压WordPress压缩包。sudo yum install unzip -y sudo unzip wordpress-6.4.4-zh_CN.zip将
wp-config-sample.php文件复制为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请求。
备份默认配置并创建新的Nginx配置文件。
sudo mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak sudo vim /etc/nginx/conf.d/default.conf修改Nginx配置文件。
按
i键进入编辑模式,在server和location ~ .php$模块内,将root后的内容替换为WordPress根目录。示例中WordPress的根目录为/usr/share/nginx/html/wordpress。
按
Esc键,输入:wq后按Enter键,保存退出配置文件。检查配置语法。
如果显示
syntax is ok,则表示可以正常重启。sudo nginx -t若检查语法报错,可通过
sudo mv /etc/nginx/conf.d/default.conf.bak /etc/nginx/conf.d/default.conf恢复默认配置。重启Nginx使配置生效。
sudo systemctl restart nginx
步骤五:安装并登录WordPress网站
完成服务器端配置后,需要通过浏览器完成WordPress的初始化。
在本地物理机上使用浏览器访问
http://ECS实例公网IP,进入WordPress安装页面。填写网站基本信息,包括站点标题、管理员用户名、密码和您的电子邮件,然后单击安装 WordPress。
安装成功后,单击登录,使用上一步设置的用户名和密码登录。
若成功登录,表示WordPress网站已成功搭建并运行。更多信息,请参见WordPress官网使用文档。
后续步骤
通过FTP管理文件
通过FTP上传WordPress主题或者插件,需要搭建FTP站点(Linux)。
解析域名并配置HTTPS
直接使用IP地址访问网站不专业且不安全,建议为网站绑定域名并启用HTTPS加密。
注册域名并备案
将域名解析到ECS实例的公网IP地址。
将实例公网IP替换为新域名。
远程连接实例,登录MySQL数据库。
mysql -u root -p切换至WordPress对应的数据库,设置域名。
将
public_ip替换为实例公网IP,将domain替换为域名。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证书可以为网站启用HTTPS加密数据传输,保护用户隐私,并获得更好的浏览器信任和SEO排名。
常见问题
无法通过公网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;修改数据库的用户名和密码。
修改数据库用户名为新用户名。
UPDATE user SET user='NEW_USER_NAME' WHERE user='USER_NAME';以将
root用户名修改为admin为例:UPDATE mysql.user SET user='admin' WHERE user='root';修改数据库用户名的密码。
ALTER 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部署应用。
如需在一台ECS实例中搭建多个Web站点,请参见Nginx服务配置多站点。