--------------------------------------- | ----------------- | ----------------- |
| 冬酒暖阳 | mailto:1067764354@qq.com | 博客:www.lifepoem.cn |

一、部署环境介绍

软件依赖版本
Ubuntu18.04 LTS
WordPress5.4
Nginx1.14.0
PHP7.3
MariaDB10.1.44

二、准备环境

(1)安装 Nginx

  1. 使用 apt-get 命令 安装 Nginx

    sudo apt-get update
    sudo apt-get install nginx
    
  2. 安装完成后,启动 Nginx

    sudo systemctl start nginx
    
  3. 启动成功后,在浏览器中打开系统的 IP 地址,正常情况下,会出现如下界面,表示 Nginx 安装成功

    image-20200410194503994

(2) 安装 MariaDB 数据库

  1. MariaDB 与 MySQL 同源,在这里我们选择 MariaDB

    sudo apt-get install mariadb-client mariadb-server
    
  2. 启动 MariaDB (MariaDB 服务名为 MySQL)

    sudo systemctl start mysql
    
  3. 初次运行 MariaDB ,需要创建 root 用户密码以保护数据库

    sudo mysql_secure_installation
    

    会出现一下提示信息

    Enter current password for root (enter for none): # 不用输入,直接回车
    
    Set root password? [Y/n] Y
    New password: # 在这里输入你的密码
    Re-enter new password: # 重新输入一遍
    # 输入密码时,是不回显的
    # 后面的问题,按照下面回答即可
    Remove anonymous users? [Y/n] Y
    Disallow root login remotely? [Y/n] Y
    Remove test database and access to it? [Y/n] Y
    Reload privilege tables now? [Y/n] Y
    

(3) 安装 PHP 相关程序

  1. 安装软件源拓展工具

    sudo apt-get install software-properties-common
    
  2. 添加 PHP 源地址,更新软件包列表,安装PHP7.3

    sudo add-apt-repository -y ppa:ondrej/php
    sudo apt-get update
    sudo apt-get install php7.3
    
  3. Nginx 使用 PHP 需要用到 php-fpm

    sudo apt-get install php7.3-mysql php7.3-fpm php7.3-curl php7.3-xml php7.3-gd php7.3-mbstring php-memcached php7.3-zip
    

(4)安装 WordPress

  1. WordPress 中文官网 下载 WordPress 最新版本安装包,但近期,WordPress 官网受到DDOS网络攻击,经常出现 429 无法访问的情况,可以通过 WordPress 镜像站 来完成这一步骤

    注:推荐直接下载中文版

  2. 将下载好的程序压缩包,通过 FTP 工具(例如:X ftp)上传至 Ubuntu 服务器 的 /tmp 目录下

  3. 将 压缩包 解压到 /var/www/html 目录下

    tar -xzvf /tmp/wordpress-5.4-zh_CN.tar.gz -C /var/www/html/
    

三、开始安装

(1)创建供 WordPress 使用的数据库

  1. 登录 MariaDB 数据库

    mysql -u root -p
    
  2. 创建 WordPress 数据库

    # 创建数据库,数据库名:wordpressdb
    CREATE DATABASE wordpressdb CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
    # 创建用户,用户名为:wordpressuser,password 处为用户密码,可自主设定
    CREATE USER wordpressuser@localhost IDENTIFIED BY 'password';
    # 赋予用户权限
    GRANT ALL ON wordpressdb.* TO 'wordpressuser'@'localhost' IDENTIFIED BY '你的密码';
    # 刷新数据库权限
    FLUSH PRIVILEGES;
    # 退出数据库
    quit
    
  3. 重启 MariaDB 服务

    service mariadb restart
    

(2)修改 WordPress 配置

  1. 创建 wp-config.php 文件

    # 将示例配置拷贝一份
    cp /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php
    # 编辑配置文件
    sudo vim /var/www/html/wordpress/wp-config.php
    
  2. 更改配置文件中的数据库配置,将刚才设定好的数据库名、用户名、密码,按指示进行修改

    // ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
    /** WordPress数据库的名称 */
    define( 'DB_NAME', 'database_name_here' );
    
    /** MySQL数据库用户名 */
    define( 'DB_USER', 'username_here' );
    
    /** MySQL数据库密码 */
    define( 'DB_PASSWORD', 'password_here' );
    
  3. 更改身份认证密钥与盐

    根据文件中的提示,访问 WordPress.org密钥生成服务 生成独一无二的字符串,并将得到的文本,替换配置文件中对应的配置

  4. 保存退出

(3)配置 Nginx 服务器

如果有域名的话,强烈建议在最开始,就注册好 CA 证书(有免费的),搭建好 HTTPS 服务,否则一旦开启 WordPress 站点,再搭建 HTTPS 服务,就会异常复杂(笔者为此重做了好几次网站),CA证书的注册,本文不再赘述

  1. 进入 Nginx 服务器配置文件目录

    cd /etc/nginx/sites-available/
    
  2. 创建 WordPress 服务器配置文件

    sudo vim wordpress_nginx.conf
    
  3. 在文件中写入一下内容(请去掉所有中文注释,否则可能会出错)

    如果全部安装前文所述的安装步骤进行安装,则此处配置文件,仅需要修改有中文注释位置的内容,否则请根据自己的实际情况进行修改

    情况一:有 CA 证书,可以搭建 HTTPS 的配置

    # port 443
    server {
        listen 443;
        server_name  www.example.com example.com; # 此处修改为你自己的域名,没有域名也可直接填写 IP 地址
        ssl on;
        ssl_certificate   /var/www/html/cert/www/www.example.com.pem; # 此处填写你的证书文件位置
        ssl_certificate_key  /var/www/html/cert/www/www.example.com.key; # 此处填写你的密钥文件位置
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
    
        root /var/www/html/wordpress;
    
        index  index.php index.html index.htm;
    
        client_max_body_size 100M;
    
    
    
        location / {
    
            try_files $uri $uri/ /index.php?$args;
    
        }
    
    
    
        location ~ \.php$ {
    
             include snippets/fastcgi-php.conf;
    
             fastcgi_pass unix:/run/php/php7.3-fpm.sock;
    
             fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    
             include fastcgi_params;
             fastcgi_param HTTP_PROXY "";
             fastcgi_param  PATH_INFO         $fastcgi_path_info;
        }
    }
    
    
    
    # port:80
    server {
    
        listen 80;
    
        listen [::]:80;
    
        server_name www.example.com example.com; # 此处修改为你自己的域名,没有域名也可直接填写 IP 地址
        return 301 https://$server_name$request_uri;
    }
    

    情况二:没有 CA 证书,仅搭建 HTTP 的配置

    server {
        listen 80;
        server_name www.example.com example.com; # 此处修改为你自己的域名,没有域名也可直接填写 IP 地址
    
        root /var/www/html/wordpress;
    
        index  index.php index.html index.htm;
    
        client_max_body_size 100M;
    
    
    
        location / {
    
            try_files $uri $uri/ /index.php?$args;
    
        }
    
    
        location ~ \.php$ {
    
             include snippets/fastcgi-php.conf;
    
             fastcgi_pass unix:/run/php/php7.3-fpm.sock;
    
             fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    
             include fastcgi_params;
             fastcgi_param HTTP_PROXY "";
             fastcgi_param  PATH_INFO         $fastcgi_path_info;
        }
    }
    
  4. 检查无误后,退出并保存配置文件

  5. 通过命令,检查配置文件是否有语法错误

    nginx -t
    
    # 如果返回一下内容,则配置无误,否则请重新检查刚才的配置文件
    nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
    nginx: configuration file /etc/nginx/nginx.conf test is successful
    
  6. 使用软链接,将此配置文件链接到 /etc/nginx/sites-enabled/ 目录下,并重启 Nginx 使配置生效

    # 将配置文件软链接到 /etc/nginx/sites-enabled/ 目录下
    ln -s /etc/nginx/sites-available/wordpress_nginx.conf  /etc/nginx/sites-enabled/wordpress_nginx.conf
    # 重启 Nginx 服务
    service nginx restart
    

(4)在浏览器继续完成安装的最后一步

  1. 在浏览器中打开,刚才在 Nginx 的配置文件中写的 服务器地址(server_name),如若出现一下界面,那么恭喜你,之前的步骤全部成功了,如果没有出现下面的界面,则返回检查前面的步骤是否出错

    WordPress 安装页

  2. 在这里配置好站点标题、用户名、密码、电子邮件等信息 (这里的用户名和密码,将作为 Word Press 的管理员账号和密码)

    强烈建议:这里不要输入任何可能暴露私人信息的内容,这里填写的信息,后续都很难修改(是的,笔者在这吃亏了,导致笔者再次重新搭建博客网站)

  3. 填写完成后,点击安装,然后用刚才设置的 用户名密码 登录即可

  4. 如果看到以下 WordPress 仪表盘界面,那么再次恭喜您,您的 WordPress 正式安装完成,接下来便是按照您的喜好去美化和配置

    WordPress 仪表盘

四、美化博客

(1)安装主题

  1. 将下载好的主题包,解压后,上传到 /var/www/html/wordpress/wp-content/themes/ 目录下

  2. 在 WordPress 仪表盘 中启用主题

    image-20200410214444339

(2)安装插件

  1. 将下载好的插件压缩包,解压后,上传到 /var/www/html/wordpress/wp-content/plugins/ 目录下

  2. 在 WordPress 仪表盘 中启用该插件

    image-20200410214654117

image-20200410214719895

恭喜你,你已完成所有安装工作!

四、配置 CDN

本次使用的是腾讯云CDN(每月赠送50GB流量,嗯,可以算是免费了)

(1)打开腾讯云 内容分发网络(CDN) 配置页面,并点击域名管理中的添加域名

image-20200410220804022

(2)添加域名

  1. 域名配置

    image-20200410221058969

    1. 服务配置

      不建议开启过滤参数,可能会导致网站出现问题

      image-20200410221503629

      缓存配置(推荐按照如下设置)

      image-20200410221628339

    注:不要在 CDN 设置内开启 “回源跟随301/302配置” 这一配置项,否则很有可能导致网站出现问题,其他设置,视情况自行决定

(3)配置 DNS 解析

  1. 将 CDN 刚设置好的域名中,将 CNAME 后面的域名地址复制下来

    image-20200410222118099

    1. 在 DNS 解析服务设置中,将 @ 和 www 这两个主机记录的记录类型改为 CNAME,并将记录值改为,刚才在 CDN 域名配置中复制下来的 CNAME 的地址

      image-20200410222301829

    2. 至此,CDN 配置完成

五、推荐插件

  • Akismet Anti-Spam: 过滤垃圾评论
  • File Renaming on upload: 上传文件时,自动将文件按预定格式重命名,使网站的链接更规律
  • Google XML Sitemaps: 生成站点地图(Sitemap),并随页面更改而自动更新,亦可自动将站点地图向 Google 和 Bing 进行推送,提高网站在 Google 和 Bing 这两个搜索引擎的收录率
  • WP Editor.md: 很好用的 WordPress Markdown 编辑器
  • WP Super Cache: 使用缓存,可提高网站访问速度
  • WPS Hide Login: 自定义 WordPress 后台登录网址,提高网站安全性
  • 百度搜索推送管理: 自动向百度推送网站链接,提高网站在百度的收录率