全部产品
Search
文档中心

云服务器 ECS:在CentOS 7.x系统的ECS实例上搭建WordPress网站

更新时间:Dec 25, 2023

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

准备工作

为已创建实例搭建WordPress网站,已创建的ECS实例必须满足以下条件:

  • 实例已分配公网IP地址或绑定弹性公网IP(EIP)。

  • 操作系统必须为CentOS 7.x。

  • 实例安全组的入方向规则已放行22、80、443端口。具体操作,请参见添加安全组规则

    重要

    基于服务器数据安全考虑,本文仅说明部署与测试LNMP环境和WordPress网站所必需放行的端口,您可以根据实际需求,放行其他应用所需的端口号。例如,远程连接MySQL数据库时,需要放行MySQL默认占用的3306端口。

搭建WordPress网站

快速部署

基于阿里云资源编排服务ROS实现,可以帮助您快速部署LNMP环境和WordPress网站。与手动部署方式相比,快速部署可以自动完成所有资源的创建和配置,实现自动化快速部署。

  1. 打开快速配置模板链接进入ROS控制台。

  2. 在顶部菜单栏左上角处,选择地域。地域.png

  3. 配置模板参数页面,输入资源栈名称,选择已有ECS实例或新建ECS实例,并输入MySQL数据库密码。

    新建ECS实例时,需要选择可用区、实例规格、系统盘类型,并输入实例密码。

    重要

    创建ECS实例会创建一个CentOS 7.x操作系统的按量付费ECS实例并绑定了按使用流量计费的固定公网IP,关于ECS和固定公网IP的计费说明,请参见计费概述

  4. 确认填写信息后,单击创建

    资源栈信息页签下的状态创建中变为创建成功时,说明WordPress已部署完成。

  5. 安装并登录WordPress网站。

    1. 单击输出页签,然后单击WordPressUrl右侧的链接(http://ECS实例公网IP)。

    2. 填写网站基本信息,然后单击安装WordPress

      填写信息参数说明:

      • 站点标题:WordPress网站的名称。例如:demowp。

      • 用户名:登录WordPress时所需的用户名,请注意安全性。例如:testwp。

      • 密码:登录WordPress时所需的密码,建议您设置安全性高的密码。例如:Wp.123456。

      • 您的电子邮件:用于接收通知的电子邮件。例如:username@example.com。

    3. 单击登录

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

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

手动部署

  1. 远程连接ECS实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  2. 部署LNMP环境。

    具体操作,请参见部署LNMP环境(CentOS 7)

  3. 配置WordPress数据库。

    1. 进入MySQL数据库。

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

      mysql -uroot -p
    2. 为WordPress网站创建数据库。

      本教程中数据库名为wordpress

      create database wordpress;
    3. 创建一个新用户管理WordPress库,提高安全性。

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

      show variables like "%password%";

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

      create user 'user'@'localhost' identified by 'PASSword123.';
    4. 赋予用户对数据库wordpress的全部权限。

      grant all privileges on wordpress.* to 'user'@'localhost' identified by 'PASSword123.';
    5. 使配置生效。

      flush privileges;
    6. 退出MySQL。

      exit;
  4. 下载WordPress,并移动至网站根目录。

    1. 下载WordPress。

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

      sudo yum -y install wordpress
    2. 将下载的WordPress移动至网站根目录。

      sudo mv /usr/share/wordpress /usr/share/nginx/html/wordpress
  5. 修改WordPress配置文件。

    1. 进入移动后的WordPress路径下,软链接配置文件wp-config.php

      cd /usr/share/nginx/html/wordpress
      sudo ln -snf /etc/wordpress/wp-config.php wp-config.php
    2. 编辑wp-config.php文件。

      sudo 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后按Enter键,保存退出配置文件。

  6. 修改Nginx配置文件。

    1. 运行以下命令,打开Nginx配置文件。

      sudo vim /etc/nginx/nginx.conf
    2. i键进入编辑模式。

      • server大括号内,将root后的内容替换为WordPress根目录。

      • location ~ .php$大括号内,将root后的内容替换为WordPress根目录。

        本示例中根目录为/usr/share/nginx/html/wordpress

        nginx配置文件

    3. Esc键,输入:wq后按Enter键,保存退出配置文件。

    4. 运行以下命令,重启Nginx服务。

      sudo systemctl restart nginx
  7. 安装并登录WordPress网站。

    1. 在本地物理机上使用浏览器访问http://ECS实例公网IP,进入WordPress安装页面。

    2. 填写网站基本信息,然后单击安装WordPress

      填写信息参数说明:

      • 站点标题:WordPress网站的名称。例如:demowp。

      • 用户名:登录WordPress时所需的用户名,请注意安全性。例如:testwp。

      • 密码:登录WordPress时所需的密码,建议您设置安全性高的密码。

      • 您的电子邮件:用于接收通知的电子邮件。例如:username@example.com。

    3. 单击登录

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

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

解析WordPress网站域名

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

  1. 注册域名。

    具体操作,参见域名注册基本流程如何注册阿里云域名

  2. 备案域名。

    如果您的域名指向的网站托管在阿里云中国内地节点服务器,您需要进行备案。

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

    域名解析是使用域名访问您的网站的必备环节。具体操作,请参见设置域名解析

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

    1. 远程连接已搭建WordPress网站的ECS实例。

      具体操作,请参见通过密码或密钥认证登录Linux实例

    2. 登录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网站设置新域名。

常见问题

WordPress中设置固定链接后,跳转页面无法访问

网站设置为静态网页有利于搜索引擎收录网站。您在对WordPress站点设置固定链接前,需要先在Nginx服务器中设置为静态规则。操作步骤如下:

  1. 登录搭建WordPress的ECS实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  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

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

该问题可能是因为WordPress配置文件主题或插件的权限不足,您可以参考以下步骤解决。

  1. 登录搭建WordPress的ECS实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例

  2. 运行以下命令,打开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