Linux

CentOS 搭建 WordPress 站点

1. 版本相关

  1. WordPress 版本 5.9.3
  2. PHP 版本 8.1
  3. MySQL 版本 5.7
  4. Nginx 版本 1.18

2. 主要内容

由于我的 CentOS 服务器上,已经事先安装好了 MySQL 和 Nginx,所以本文主要记录如何安装和配置以下4部分内容:

  1. 安装并配置 PHP
  2. 安装并配置 WordPress
  3. 配置 Nginx
  4. 配置 MySQL

3. 安装并配置 PHP

安装 PHP:

  1. 将 yum 源更换为 aliyun 的 remi:
    yum -y install https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm
    yum -y install yum-utils
  2. 为 PHP8.1 启用流模块:
     yum-config-manager --enable remi-php81
  3. 查询 PHP 可用的版本列表【可选操作】:
    yum repolist all |grep php

    file

  4. 安装 PHP8.1 及扩展:
    sudo yum install -y php
    sudo yum install php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-json php-redis php-common php-opcache php-memcached --skip-broken
  5. 运行下面的命令,查看已安装的 PHP 版本,只要能显示版本,就证明 PHP 已经安装成功!
    php -v

    file

配置 PHP:
经过上面5个步骤,PHP 就成功安装到了 CentOS 系统中。接下来需要参考如下的步骤,修改 PHP 的配置文件:

  1. 检查系统中是否存在名为 nginx用户用户组
    # 查询所有用户
    cat /etc/passwd
    # 查询所有用户组
    cat /etc/group
  2. 如果有,则直接忽略当前的第2步。如果没有,则运行如下的命令,在系统中添加名为 nginx 的用户和用户组:

    useradd nginx

    注意:useradd nginx 会创建名为 nginx 的用户,同时这个用户默认就属于名为 nginx 的用户组。因此不需要再单独创建名为 nginx 的用户组了。

  3. 通过编辑器修改 /etc/php-fpm.d/www.conf 配置文件,把 user 用户和 group 用户组从默认的 apache 修改为 nginx。修改后的截图如下:

    file

4. 安装并配置 WordPress

  1. 从 WordPress 官网上下载源码,然后解压,查看其文件:

    [root@localhost ~]# wget https://cn.wordpress.org/latest-zh_CN.tar.gz
    [root@localhost ~]# tar xf latest-zh_CN.tar.gz
    [root@localhost ~]# ls wordpress/
    index.php        wp-admin              wp-content         wp-load.php      wp-signup.php
    license.txt      wp-blog-header.php    wp-cron.php        wp-login.php     wp-trackback.php
    readme.html      wp-comments-post.php  wp-includes        wp-mail.php      xmlrpc.php
    wp-activate.php  wp-config-sample.php  wp-links-opml.php  wp-settings.php
  2. 步骤1解压出来的文件夹名为 wordpress,里面存着所有 WordPress 需要的源码文件。这个解压出来的 wordpress 文件夹放在任何位置都可以,但必须配置好权限,让 PHP 所在的用户组有读写权限
    为了方便,我这里将其放在 /usr/local/ 目录下,并且更改其用户为 nginx

    [root@localhost ~]# mv wordpress/ /usr/local/
    [root@localhost ~]# cd /usr/local
    [root@localhost html]# chown -R nginx:nginx wordpress/
    [root@localhost html]# ll
    total 1
    drwxr-xr-x   5 nginx nginx 4096 May 13 13:32 wordpress

5. 配置 Nginx

再次声明,由于我的服务器上已经事先安装过 Nginx,所以这里不再赘述如何安装 Nginx,对安装 Nginx 感兴趣的小伙伴可以自行百度噢。这里只介绍如何针对 WordPress 配置 Nginx。
用编辑器打开 nginx/conf/nginx.conf 配置文件,对 http 节点下的 server 进行配置。详细的配置如下:

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    # gzip 压缩配置,可以提高传输效率
    gzip  on;
    gzip_min_length 1k;
    gzip_comp_level 6;
    gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css;
    gzip_disable "MSIE [1-6]\.";
    gzip_vary on;

    server {
        listen       443 ssl;
        server_name  填写自己购买的域名;

        ssl_certificate      填写 SSL 证书的 pem 文件的存储路径;
        ssl_certificate_key  填写 SSL 证书的 key 文件的存储路径;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        # 重要:
        # root 用来指定 wordpress 文件夹的存放路径
        # index 中,必须把 index.php 添加到第一位。因为 wordpress 项目的首页是 index.php
        location / {
            root   /usr/local/wordpress;
            index  index.php index.html index.htm;
        }

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        # 重要:
        location ~ \.php$ {
            # root 用来指定 wordpress 文件夹的存放路径
            root           /usr/local/wordpress;
            # wordpress 默认运行在 9000 端口,请确保服务器的 9000 端口没有被其他程序占用!
            fastcgi_pass   127.0.0.1:9000;
            # 首页的文件名
            fastcgi_index  index.php;
            # $document_root 是一个变量,表示 root 选项的值。而 root 的值就是 wordpress 文件夹的存放路径
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
}

6. 配置 MySQL

同样的,由于我的服务器上已经事先安装过 MySQL,所以这里不再赘述如何安装 MySQL,对安装 MySQL 感兴趣的小伙伴可以自行百度噢。这里只介绍如何针对 WordPress 配置 MySQL。

我们需要做的事情:就是为 WordPress 创建一个单独的 MySQL 数据库,用来存储 WordPress 网站运行过程中的所有动态数据。

在这里,建议大家把数据的名字创建为 wordpress 即可。注意:只需要创建一个空白数据库即可,后面我们在配置 WordPress 时,它会自动在空白数据库中生成对应的表结构和表数据。

创建数据库的两种方式(二选一噢):

  1. 基于可视化的操作工具(例如:MySQL Workbench)
  2. 执行 SQL 命令

    [root@localhost ~]# mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 2
    Server version: 5.7.27
    
    mysql> create database wordpress;
    Query OK, 1 row affected (0.00 sec)

7. 初始化 WordPress

  1. 重新启动php-fpm、nginx:

    # 重置 php 服务
    systemctl restart php-fpm
    # 先 cd 到 xxx/nginx/sbin/ 目录下,再执行下面的命令,重启 nginx
    ./nginx -s reload
  2. 在浏览器中输入您在 nginx 中配置好的 server_name 选项对应的域名,即出现 WordPress 的初始化界面:

    file

  3. 点击“现在就开始!”按钮,填入数据库的名字登录数据库的账号密码

    file

  4. 点击“提交”按钮,即可进入下一步:

    file

  5. 输入“站点标题”、“用户名”、“密码”、“电子邮件”,即可安装。安装完成,即可登录后台管理界面:

    file

  6. 此时,一个基于 WordPress 搭建的个人博客就运行起来啦~🎉

一个不再讲课の前端程序员。

2条评论

留言

您的电子邮箱地址不会被公开。