[折腾日常]2. 手动搭建WordPress(CentOS 7)

手动搭建WordPress(CentOS 7)

WordPress是使用PHP语言开发的博客平台,在支持PHP和MySQL数据库的服务器上,您可以用WordPress架设自己的网站,也可以用作内容管理系统(CMS)。本教程介绍如何在Linux操作系统的ECS实例上搭建WordPress网站。

前提条件

  • 已注册阿里云账号。如还未注册,请先完成账号注册。
  • 已创建网络类型为专有网络的安全组,并且安全组的入方向添加规则并放行80端口,如果您使用SSH远程连接Linux实例,需要放行22端口。 若尚未添加规则,请先添加安全组规则。
  • 已创建Linux操作系统的ECS实例,并且手动部署LNMP环境,详情请参见手动部署LNMP环境(CentOS 7)。本教程使用的相关资源版本如下。
    实例规格:ecs.c6.large
    操作系统:公共镜像CentOS 7.2 64位
    Nginx版本:1.16.1
    MySQL版本:5.7.29
    PHP版本:7.0.33
    WordPress版本:5.1.6
    说明 当您使用不同软件版本时,可能需要根据实际情况调整命令和参数配置。

背景信息

本教程适用于熟悉Linux操作系统,刚开始使用阿里云进行WordPress网站搭建的企业或个人用户。您也可以使用云市场提供的WordPress镜像快速搭建WordPress网站。详情请参见云市场镜像搭建WordPress。

搭建WordPress网站

  1. 通过ECS控制台,远程连接已部署LNMP环境的ECS实例,配置WordPress数据库
    1.1 远程连接ECS实例。
    详情请参见使用用户名密码验证连接Linux实例。
    1.2 进入MySQL数据库。
    使用root用户登录MySQL,并输入密码。密码为您在搭建环境时为数据库设置的密码。
mysql -uroot -p

1.3 为WordPress网站创建数据库。
本教程中数据库名为wordpress。

create database wordpress

1.4 创建一个新用户管理WordPress库,提高安全性。
MySQL在5.7版本后默认安装了密码强度验证插件validate_password。您可以登录MySQL后查看密码强度规则。

show variables like "%password%"

本教程中创建新用户user,新用户密码为PASSword123.。

create user 'user'@'localhost' identified by 'PASSword123'

赋予用户对数据库wordpress的全部权限。

grant all privileges on wordpress.* to 'user'@'localhost' identified by 'PASSword123'

使配置生效。

flush privileges

退出MySQL。

exit

下载WordPress,并移动至网站根目录。
下载WordPress。
通过yum命令下载的WordPress保存在/usr/share/wordpress目录下。

yum -y install wordpress

将下载的WordPress移动至网站根目录。

mv /usr/share/wordpress /usr/share/nginx/html/wordpress

修改WordPress配置文件。
进入移动后的WordPress路径下,软连接配置文件wp-config.php。

cd /usr/share/nginx/html/wordpress
ln -snf /etc/wordpress/wp-config.php wp-config.php

编辑wp-config.php文件。

vim wp-config.php

按i键切换至编辑模式,根据配置完成的wordpress数据库信息,修改MySQL相关配置信息,修改代码如下所示。
WordPress网站的数据信息将通过数据库的user用户保存在wordpress库中。
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */

define('DB_NAME', 'wordpress')

/** MySQL数据库用户名 */

define('DB_USER', 'user')

/** MySQL数据库密码 */

define('DB_PASSWORD', 'PASSword123.')

/** MySQL主机 */

define('DB_HOST', 'localhost')

修改完成后,按下Esc键后,输入:wq并回车,保存退出配置文件。
修改Nginx配置文件。
运行以下命令打开Nginx配置文件。

vim /etc/nginx/nginx.conf

按i键进入编辑模式。
在server大括号内,将root后的内容替换为wordpress根目录。本示例中根目录为/usr/share/nginx/html/wordpress。nginx配置文件在location ~ .php$大括号内,将root后的内容替换为wordpress根目录。nginx配置文件修改完成后按Esc键,输入:wq并回车,保存退出配置文件。
运行以下命令重启Nginx服务。

systemctl restart nginx

安装并登录WordPress网站。
在本地物理机上使用浏览器访问ECS实例公网IP,进入WordPress安装页面。
填写网站基本信息,然后单击安装WordPress。
填写信息参数说明:
站点标题:WordPress网站的名称。例如:demowp。
用户名:用户登录WordPress时使用的用户名,请注意安全性。例如:testwp。
密码:建议用户设置安全性高的密码。例如:Wp.123456。
您的电子邮件:用于接收通知的电子邮件。例如:1234567890@aliyun.com。
单击登录。
输入在安装WordPress时设置的用户名testwp和密码Wp.123456,然后单击登录。
成功进入您个人的WordPress网站。
解析WordPress网站域名
通过实例公网IP地址直接访问您的WordPress网站会降低服务端的安全性。如果您已有域名或者想为WordPress网站注册一个域名,可以参考以下步骤。本示例注册域名为www.WordPress.EcsQuickStart.com。

注册域名。
详情请参见注册通用域名。
备案。
如果您的域名指向的网站托管在阿里云中国内地节点服务器,您需要进行备案。如果您是首次备案,请参见首次备案流程,其他情况请参见ICP备案流程概述。
解析域名。将域名指向实例公网IP。
域名解析是使用域名访问您的网站的必备环节。具体操作流程,请参见设置域名解析。

返回ECS控制台,远程连接已搭建WordPress网站的ECS实例,登录MySQL数据库。

mysql -uroot -p

使用wordpress数据库。

use wordpress

将实例公网IP替换为新域名。

update wp_options set option_value = replace(option_value, 'http://实例公网IP', 'http://www.WordPress.EcsQuickStart.com') where option_name = 'home' OR option_name = 'siteurl'

退出MySQL。

exit

成功为WordPress网站设置新域名。

常见问题
问题描述:WordPress中设置固定链接后,跳转页面无法访问。

解决方案:网站设置伪静态有利于搜索引擎收录网站。您在对WordPress站点设置固定链接前,需要先在Nginx服务器中设置伪静态规则。操作步骤如下:
登录搭建WordPress的ECS实例。
运行以下命令打开Nginx配置文件。

vim /etc/nginx/nginx.conf

按i键进入编辑模式,在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;
}

添加完成后按Esc键,并输入:wq并回车,保存退出文件。
运行以下命令重启Nginx服务。

systemctl restart nginx

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

解决方案:
登录搭建WordPress的ECS实例。
运行以下命令打开WordPress配置文件。

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并回车,保存退出文件。
返回WordPress仪表盘,刷新页面,可解决需要FTP登录凭证的问题。
如果仍存在无法创建目录的问题,需再次返回ECS实例,运行以下命令,将网站根目录的权限用户更新为Nginx对应的用户,本示例环境中为nginx用户。

chown -R nginx /usr/share/nginx/html/wordpress
上一篇:WordPress强大多功能主题模板The7 v9.16.0 已激活版本完全兼容大多数插件


下一篇:如何在WordPress网站中增加内容锁定(2种方法)