WordPress是使用PHP语言开发的博客平台,在支持PHP和MySQL数据库的服务器上,您可以用WordPress架设自己的网站,也可以用作内容管理系统(CMS)。本教程介绍如何在CentOS 7.x操作系统的ECS实例上搭建WordPress网站。
背景信息
本文提供以下两种部署方式,您可以根据需要选择。
- 快速部署:基于阿里云资源编排服务ROS(Resource Orchestration Service)实现,可以帮助您快速部署LNMP环境和WordPress网站。与手动部署方式相比,快速部署可以自动完成所有资源的创建和配置,实现自动化快速部署。
- 手动部署:适用于熟悉Linux操作系统,并且对所安装软件的版本及各软件兼容性有所了解的用户。手动部署WordPress网站前,必须先部署LNMP环境。
说明
您也可以使用云市场提供的WordPress镜像快速搭建WordPress网站。
准备工作
快速部署时选择已有实例或手动部署WordPress网站,已有ECS实例必须满足以下条件:
- 实例已分配公网IP地址或绑定弹性公网IP(EIP)。
- 操作系统必须为CentOS 7.x。
- 实例安全组的入方向规则已放行22、80、443端口。
重要
基于服务器数据安全考虑,本文仅说明部署与测试LNMP环境和WordPress网站所必需放行的端口,您可以根据实际需求,放行其他应用所需的端口号。例如,远程连接MySQL数据库时,需要放行MySQL默认占用的3306端口。
搭建WordPress网站
快速部署
手动部署
- 打开
快速配置模板链接进入ROS控制台。 - 在顶部菜单栏左上角处,选择地域。
.
3.在配置模板参数页面,输入资源栈名称,选择已有ECS实例或新建ECS实例,并输入MySQL数据库密码。
新建ECS实例时,需要选择可用区、实例规格、系统盘类型,输入实例密码。
重要
- 创建ECS实例会创建一个CentOS 7.x操作系统的按量付费ECS实例并绑定了按使用流量计费的固定公网IP,关于ECS和固定公网IP的计费说明。
- 确认填写信息后,单击创建。
当资源栈信息页签下的状态由创建中变为创建成功时,说明WordPress已部署完成。 - 安装并登录WordPress网站。
- 单击输出页签,然后单击WordPressUrl右侧的链接(
http://ECS实例公网IP
)。 - 填写网站基本信息,然后单击安装WordPress。
填写信息参数说明:
- 站点标题:WordPress网站的名称。例如:demowp。
- 用户名:登录WordPress时所需的用户名,请注意安全性。例如:testwp。
- 密码:登录WordPress时所需的密码,建议您设置安全性高的密码。例如:Wp.123456。
- 您的电子邮件:用于接收通知的电子邮件。例如:username@example.com。
- 单击登录。
- 输入在安装WordPress时设置的用户名testwp和密码Wp.123456,然后单击登录。
- 成功进入您个人的WordPress网站。
解析WordPress网站域名
通过实例公网IP地址直接访问您的WordPress网站会降低服务端的安全性。如果您已有域名或者想为WordPress网站注册一个域名,可以参考以下步骤。本示例注册域名为www.example.com
。
- 注册域名。
- 备案域名。
如果您的域名指向的网站托管在阿里云中国内地节点服务器,您需要进行备案。 - 解析域名。将域名指向实例公网IP。
域名解析是使用域名访问您的网站的必备环节。
将实例公网IP替换为新域名。
- 远程连接已搭建WordPress网站的ECS实例。
- 登录MySQL数据库。
mysql -uroot -p
3.切换至WordPress对应的数据库。
use wordpress;
4.将实例公网IP替换为新域名。
update wp_options set option_value = replace(option_value, 'http://实例公网IP', 'http://www.example.com') where option_name = 'home' OR option_name = 'siteurl';
5.退出MySQL。
exit;
成功为WordPress网站设置新域名。
常见问题
问题1:WordPress中设置固定链接后,跳转页面无法访问。
网站设置为静态网页有利于搜索引擎收录网站。您在对WordPress站点设置固定链接前,需要先在Nginx服务器中设置为静态规则。操作步骤如下:
- 登录搭建WordPress的ECS实例。
2.运行以下命令,打开Nginx配置文件。
sudo vim /etc/nginx/nginx.conf
3.按i
键进入编辑模式。
4.在location /
大括号内,添加如下代码。
if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; }
5.按Esc
键,输入:wq
后按Enter
键,保存退出配置文件。
6.运行以下命令,重启Nginx服务。
sudo systemctl restart nginx
问题2:WordPress中更新版本、上传主题或插件时,提示需要FTP登录凭证或无法创建目录。
该问题可能是因为WordPress配置文件主题或插件的权限不足,您可以参考以下步骤解决。
- 登录搭建WordPress的ECS实例。
- 运行以下命令,打开WordPress配置文件。
sudo vim /usr/share/nginx/html/wordpress/wp-config.php
3.按i
键进入编辑模式。
4.在最下方,添加如下代码。
define("FS_METHOD","direct"); define("FS_CHMOD_DIR", 0777); define("FS_CHMOD_FILE", 0777);
5.按Esc
键,输入:wq
后按Enter
键,保存退出配置文件。
6.返回WordPress仪表盘,刷新页面,可解决需要FTP登录凭证的问题。
如果仍存在无法创建目录的问题,需再次返回ECS实例,运行以下命令,将网站根目录的权限用户更新为Nginx对应的用户,本示例环境中为nginx
用户。
sudo chown -R nginx /usr/share/nginx/html/wordpress