human: 如何处理七牛云的云主机手动搭建WordPress（CentOS 7）

gpt: [云主机](https://developer.qiniu.com/qvm) > 使用文档 > 手动搭建WordPress（CentOS 7）

#  手动搭建WordPress（CentOS 7）

最近更新时间: 2020-09-17 17:28:16

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

# 前提条件

  * 已注册七牛云账号。如还未注册，请先完成[账号注册](https://portal.qiniu.com/signup?ref=developer.qiniu.comregister.htm?)。 
  * 已创建网络类型为专有网络的安全组，并且安全组的入方向添加规则并放行80端口，如果您使用SSH远程连接Linux实例，需要放行22端口。 若尚未添加规则，请先[添加安全组规则](https://developer.qiniu.com/qvm/manual/7107/commonly-used-port-security-group#concept-sm5-2wz-xdb "您可以通过添加安全组规则，允许或禁止安全组内的QVM实例对公网或私网的访问。")。 
  * 已创建Linux操作系统的QVM实例，并且手动部署LNMP环境，详情请参见[手动部署LNMP环境（CentOS 7）](https://developer.qiniu.com/qvm/manual/7073/manual-deployment-lnmp-environment-centos-7 "Nginx是一款小巧而高效的Web服务器软件，可帮您在Linux系统下快速方便地搭建出LNMP Web服务环境。本教程介绍如何手动在QVM实例上搭建LNMP环境，其中LNMP分别代表Linux、Nginx、MySQL和PHP。")。本教程使用的相关资源版本如下。 
    * 实例规格：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网站

  1. 通过QVM控制台，远程连接部署好LNMP环境的QVM实例，配置WordPress数据库。
    1. 远程连接QVM实例。
    2. 进入MySQL数据库。

使用`root`用户登录MySQL，并输入密码。密码为您在搭建环境时为数据库设置的密码。

        
                mysql -uroot -p

    3. 为WordPress网站创建数据库。

本教程中数据库名为wordpress。

        
                create database wordpress;

    4. 创建一个新用户管理WordPress库，提高安全性。

Mysql在5.7版本后默认安装了密码强度验证插件validate_password。您可以登录Mysql后查看密码强度规则。

        
                show variables like "%password%";

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

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

    5. 赋予用户对数据库wordpress的全部权限。
        
                grant all privileges on wordpress._to 'user'@'localhost' identified by 'PASSword123.';_

    6. 使配置生效。
        
                flush privileges;

    7. 退出MySQL。
        
                exit;

  2. 下载WordPress，并移动至网站根目录。
    1. 下载WordPress。

通过yum命令下载的WordPress保存在/usr/share/wordpress目录下。

        
                yum -y install wordpress

    2. 将下载的WordPress移动至网站根目录。
        
                mv /usr/share/wordpress /usr/share/nginx/html/wordpress

  3. 修改WordPress配置文件。
    1. 进入移动后的WordPress路径下，软连接配置文件wp-config.php。
        
                cd /usr/share/nginx/html/wordpress  
        ln -snf /etc/wordpress/wp-config.php wp-config.php

    2. 编辑`wp-config.php`文件。
        
                vim wp-config.php

    3. 按`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');  
        

    4. 修改完成后，按下`Esc`键后，输入`:wq`并回车以保存并关闭配置文件。
  4. 修改Nginx配置文件。
    1. 运行以下命令打开Nginx配置文件。
        
                vim /etc/nginx/nginx.conf

    2. 按`i`键进入编辑模式。

在`server`大括号内，将`root`后的内容替换为wordpress根目录。本示例中根目录为/usr/share/nginx/html/wordpress。  
![nginx配置文件](http://qey2kbifv.hn-
bkt.clouddn.com/2020-09-17/6Et1v9LTJ2b8U3RnVW7m.png)  
在`location ~ .php$`大括号内，将`root`后的内容替换为wordpress根目录。  
![nginx配置文件](http://qey2kbifv.hn-
bkt.clouddn.com/2020-09-17/9zVi015NTqlg2YSOAhWX.png)  
修改完成后按`Esc`键，输入`:wq`保存并退出配置文件。

    3. 运行以下命令重启Nginx服务。
        
                systemctl restart nginx

  5. 安装并登录WordPress网站。
    1. 在本地物理机上使用浏览器访问`QVM实例公网IP`，进入WordPress安装页面。
    2. 填写网站基本信息，然后单击安装WordPress。

填写信息参数说明：

       * 站点标题：WordPress网站的名称。例如：demowp。
       * 用户名：用户登录WordPress时使用的用户名，请注意安全性。例如：testwp。
       * 密码：建议用户设置安全性高的密码。例如：Wp.123456。
       * 您的电子邮件：用于接收通知的电子邮件。例如：[1234567890@aliyun.com](mailto:1234567890@aliyun.com)。

    3. 单击登录。
    4. 输入在安装WordPress时设置的用户名`testwp`和密码`Wp.123456`，然后单击登录。

成功进入您个人的WordPress网站。

# 解析WordPress网站域名

通过实例公网IP地址直接访问您的WordPress网站会降低服务端的安全性。如果您已有域名或者想为WordPress网站注册一个域名，可以参考以下步骤。本示例注册域名为`[www.WordPress.EcsQuickStart.com](http://www.WordPress.EcsQuickStart.com)`。

  1. 注册域名。
  2. 备案。

如果您的域名指向的网站托管在七牛云中国内地节点服务器，您需要进行备案。如果您是首次备案，请参见[首次备案流程](https://developer.qiniu.com/qvm/manual/4184/qvm-
first-
guide)，其他情况请参见[ICP备案流程概述](https://developer.qiniu.com/qvm/manual/4294/record-
introduction
"网站托管在的服务器上，您需根据所在省市的管局规则进行备案申请。当您使用七牛云节点服务器时，您可以在PC端或移动端的七牛云ICP代备案系统中提交ICP备案申请，审核通过便可开通网站访问服务。本文为您介绍在七牛云备案系统提交ICP备案的流程及注意事项。")。

  3. 解析域名。将域名指向实例公网IP。

域名解析是使用域名访问您的网站的必备环节。

  4. 返回QVM控制台，远程连接已搭建WordPress网站的QVM实例，登录MySQL数据库。
    
        mysql -uroot -p

  5. 使用wordpress数据库。
    
        use wordpress;

  6. 将实例公网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';

  7. 退出MySQL。
    
        exit;

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

# 常见问题

问题描述：WordPress中设置固定链接后，跳转页面无法访问。

解决方案：网站设置伪静态有利于搜索引擎收录网站。您在对WordPress站点设置固定链接前，需要先在Nginx服务器中设置伪静态规则。操作步骤如下：

  1. 登录搭建WordPress的QVM实例。
  2. 运行以下命令打开Nginx配置文件。 
    
        vim /etc/nginx/nginx.conf

  3. 按`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`后回车，保存退出文件。

  4. 运行以下命令重启Nginx服务。 
    
        systemctl restart nginx