分类: WordPress个人博客

  • WordPress博客搭建(一)—— 部署WordPress

    这是个系列文章,这个系列会记录我对这个个人博客维护的所有需要注意的记录。

    这里部署流程大部分使用了阿里云的快速搭建WordPress的教程,同时修改了一些配置并加入了一些个人理解。

    [阿里云快速搭建WordPress教程](https://developer.aliyun.com/adc/tutorial/611919?spm=5176.12818093.0.0.3d9916d0aX5KyH)

    关于博客框架选择

    网上各式各样的个人博客框架非常多,有很多框架可能比WordPress更适合搭建个人博客;但是毕竟是不知道自己博客实际需求,所以对这些框架的优劣势没有比较直观的感受。正好看到阿里云上有提供 WP 相关的部署教程,作为一个比较流行的框架,社区优势明显,正好用来入门。

    准备工作

    这里服务器硬件选择的是阿里云的2c2g云服务器,3M的带宽,想来刚开始建站应该没有什么需求。也可以在自己本地的服务器上进行部署测试。

    注意

    1. 这里云服务器需要安全组放行80端口,本地服务器注意防火墙是否放行80端口。

    2. 80端口为http协议端口,正常访问会有被劫持导致数据泄漏的风险,同时部分浏览器也会提示是不安全的链接,需要通过注册SSL证书并配置到 Apache 中。

    3. 这里阿里云的搭建教程的准备工作中同时放行了MySQL的端口3306,教程本身也没有用到(重新配置密码也不用从外网连接mysql),就把3306端口关闭了,3306是非常容易被扫描以及爆破的对象。

    4. 如果服务器暴露在公网,建议所有密码全部使用强密码即大小写字母+数字+特殊符号不小于16位。

    部署框架简介

    简单说明一下本次部署的组件以及其作用。

    apache → wordpress → mysql

    操作系统选择

    阿里云教程里的是使用的`Alibaba Cloud Linux 3.2104 64位` ,这里如果使用 Debian/Ubuntu 系操作系统,需要根据情况修改安装命令(多为软件包安装命令)

    开始部署

    安装 Apache

    1. 执行命令安装Apache及其扩展包。如果回显信息显示Complete!,则表示Apache安装成功。

    sudo yum -y install httpd httpd-manual httpd-devel mod_ssl mod_perl php-mysqli

    注意:在 Ubuntu/Debian 系操作系统中 Apache 软件包名为apache2

    2. 依次执行命令启动Apache并设置自启动。

    # 使用 systemd 管理
    
    sudo systemctl start httpd
    
    sudo systemctl enable httpd

    3. 执行命令查看 Apache 运行状态。如果回显信息显示active(running)时,表示 Apache 已启动。 

    systemctl status httpd

    4. 在本地电脑浏览器地址栏中输入http://<云服务器的公网IP> 或本地服务的内网 IP,测试 Apache 服务是否安装成功。如果显示如图所示的测试页面,表示 Apache 服务已安装成功。ECS服务器的弹性公网IP可以从ECS实例页面获取。

    安装 MySQL 数据库

    1. 依次执行命令下载并安装MySQL数据库。回显信息显示Complete!,表示MySQL数据库安装成功。

    wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
    
    sudo yum install -y mysql57-community-release-el7-10.noarch.rpm
    
    sudo yum install -y mysql-community-server --nogpgcheck

    2. 执行命令启动MySQL数据库。

    sudo systemctl start mysqld.service

    若上述命令执行失败无法启动MySQL数据库,您可尝试执行`sudo /etc/init.d/mysqld start`命令来启动MySQL数据库。

    3. 执行命令查看MySQL数据库的运行状态。如果回显信息显示active(running)时,表示MySQL数据库已启动。

    systemctl status mysqld.service

    4. 执行命令查看MySQL数据库的初始密码。

    sudo grep "password" /var/log/mysqld.log

    5. 执行命令登录MySQL数据库。根据回显信息,输入MySQL数据库的初始密码。

    mysql -uroot -p

    6. 执行命令修改MySQL数据库的初始密码。

    – 密码必须同时包含大小写英文字母、数字和特殊符号中的三类字符。

    – 注意每条完整的SQL命令结尾都有一个半角分号(;),如果多行命令中间没有分号分隔,这些命令将不会执行,直至遇到一个分号。

    ALTER USER 'root'@'localhost' IDENTIFIED BY '<新密码>';

    7. 执行命令创建一个存储博客网站内容的数据库,例如:wordpress

    create database wordpress;

    8. 执行命令查看数据库是否创建成功。如果回显信息显示wordpress,表示数据库创建成功。

    show databases;

    9. 输入exit,退出数据库。

    安装 PHP 环境

    WordPress 基础框架就是 php 语言写的,所以需要安装 PHP 环境。

    1. 执行命令更新remi源。

    sudo rpm -ivh https://rpms.remirepo.net/enterprise/remi-release-8.rpm --nodeps
    
    sudo find /etc/yum.repos.d/ -type f -name "remi*.repo" -exec sed -i 's/\$releasever/8/g' {} +

    2. 执行命令安装PHP以及相关的库。

    sudo dnf update -y dnf libdnf
    
    sudo sed -i 's/PLATFORM_ID="platform:al8"/PLATFORM_ID="platform:el8"/g' /etc/os-release
    
    sudo yum -y module install php:remi-7.4
    
    sudo sed -i 's/PLATFORM_ID="platform:el8"/PLATFORM_ID="platform:al8"/g' /etc/os-release

    3. 执行命令创建PHP测试页面。

    sudo sh -c 'echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php'

    4. 执行命令重启Apache服务。

    sudo systemctl restart httpd

    5. 在本地电脑打开浏览器,访问http://<ECS公网IP>/phpinfo.php,显示如下页面表示PHP环境安装成功。

    安装 WordPress

    完成上述环境搭建后,参考以下操作安装和配置WordPress。

    1. 执行以下命令,下载WordPress压缩包。

    wget https://cn.wordpress.org/latest-zh_CN.tar.gz

    2. 执行以下命令,将WordPress压缩包解压到`/var/www/html`目录下。

    sudo tar -xvf latest-zh_CN.tar.gz -C /var/www/html

    这里内容解压完成后是在/var/www/html/wordpress内的网站访问路径是<IP>/wordpress/xxx,路径中带了wordpress,个人觉得很丑,所以这里选择直接将wordpress文件夹中的文件全部移动到了/var/www/html下。(理论上有很多种实现方式,例如apache代理,更改wordpress网站内配置,但是这个服务器就用来部署WordPress了,所以没有别的项目了。)

    3. 执行以下命令,调整wordpress目录的所属用户和组。

    sudo chown -R apache:apache /var/www/html/wordpress

    4. 执行以下命令,修改`/www/html/wordpress`目录权限。

    sudo chmod -R 755 /var/www/html/wordpress

    5. 执行以下命令,将wp-config-sample.php配置文件重命名为wp-config.php。

    sudo mv /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php

    6. 执行以下命令,修改wp-config.php配置文件。

    重要

    database_name_here为之前步骤中创建的数据库名称,本示例为wordpress。

    username_here为MySQL数据库的用户名,本示例为root。

    password_here为MySQL数据库的登录密码,本示例为NewPassW****。

    sudo sed -i 's/database_name_here/wordpress/' /var/www/html/wordpress/wp-config.php
    
    sudo sed -i 's/username_here/root/' /var/www/html/wordpress/wp-config.php
    
    sudo sed -i 's/password_here/NewPassW****/' /var/www/html/wordpress/wp-config.php

    7. 执行以下命令,查看配置文件信息是否修改成功。

    cat -n /var/www/html/wordpress/wp-config.php

    8. 执行以下命令,重启Apache服务。

    sudo systemctl restart httpd

    配置 WordPress 遇到的问题

    对于.hyaccess文件的配置

    在 /var/www/html下创建一个.hyaccess的文件,并赋予与wordpress文件相同的权限即可。

    结束语

    对于第一次部署博客来说,写的第一篇文章过于潦草了;对于 WordPress 后台的文章编辑工具有点用不习惯,还是喜欢 MarkDown这种简单的风格;同时可能是这个云服务器的性能过低?导致开后台编辑文档时有长时间的加载,十分影响体验,后续可能会尝试更多的方案?或者是需要进一步排查一下WordPress卡顿的原因(看阿里云后台硬件资源以及网络带宽并没有到上限)。终归是跨出了个人建站的第一步吧!