使用Hexo框架搭建Blog有一段时间了,开始之初,惊讶于这种小巧、快速的Blog框架,只需要几个简单的命令就可以将Blog在本地搭建起来,还可以将Blog托管在Github上面,又省去了一笔服务器开销。后来我不满足于Github在国内的加载速度,我又通过学生特惠购置了一台阿里云的服务器,又经过了一番折腾,将我的Blog部署在了云端,这时候Hexo的优势就显现出来了,即使是只有1M的带宽,网站加载依旧十分快速。但是随着使用越来越频繁,一些问题也显现出来,无法进行多终端上传文章,我喜欢用我的iPad进行写文章,当我需要对Blog进行更新时,我就必须使用我的电脑,把我写好的文章,拷进source目录下,然后在通过hexo g -d命令部署上去,这个过程类似与git,只不过我的git仓库在服务器里,这就导致了我只能在一台电脑上对Blog进行部署,当然我也想过其他解决办法,但我觉得实在有些麻烦。另外,部署过程中,也出现了形形色色的bug,大概就是仓库与本地版本不一致的错误,这些bug都不是很难解决的,毕竟hexo十分快速且轻量化,大不了推倒重来。

使用WordPress平台的发行商约占全球网站的10%。而WordPress官方网站的每月独立访问用户数则达到3亿。

从3.0开始,WordPress已经内置多用户博客的功能,可以通过简单的设置就开设一个支持多域名的博客平台。

WordPress 是世界上使用最广泛的博客系统之一,是一款开源的PHP软件。因为使用者众多,所以WordPress社区非常活跃,有丰富的插件模板资源。使用WordPress可以快速搭建独立的博客网站。

WordPress 不仅仅是一个博客程序,也是一款CMS,很多非博客网站也是用WordPress搭建的。

  但是这些种种原因导致我决定放弃Hexo,转至Wordpress,Wordpress没有Hexo那么小巧,Wordpress拥有后台Dashboard、需要数据库连接、拥有大量官方以及第三方插件、在线编辑器,所以很多人认为Wordpress显得有些臃肿。在Hexo出现之际,Wordpress出现一波退坑,其主要原因是Wordpress不支持Markdown语法,对于很多程序猿来说,专注内容、弱化格式的Markdown一直是心头所爱。而Hexo对Markdown的支持,让一部分人舍弃了体量稍大的Wordpress,而去选择了轻量化的Hexo。

  下面我们开始从零搭建Wordpress。

环境准备

官方给出的环境建议如下:

Requirements

To run WordPress we recommend your host supports:

  • PHP version 7.3 or greater.
  • MySQL version 5.6 or greater OR MariaDB version 10.1 or greater.
  • HTTPS support

That’s really it. We recommend Apache or Nginx as the most robust and featureful server for running WordPress, but any server that supports PHP and MySQL will do. That said, we can’t test every possible environment and each of the hosts on our hosting page supports the above and more with no problems.

Note: If you are in a legacy environment where you only have older PHP or MySQL versions, WordPress also works with PHP 5.6.20+ and MySQL 5.0+, but these versions have reached official End Of Life and as such may expose your site to security vulnerabilities.

首先需要给服务器安装PHP、Mysql,这里我使用了LNMP脚本安装,省去了手动配置等过程。

LNMP官网地址

下载最新的LNMP1.6版本。

在服务器运行:

1
2
wget http://soft.vpser.net/lnmp/lnmp1.6.tar.gz
tar -zxvf lnmp1.6.tar.gz

解压后进入文件夹:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
silver_bullet@Aliyun:~/lnmp$ cd lnmp1.6/
//查看文件夹内容
silver_bullet@Aliyun:~/lnmp/lnmp1.6$ ll
total 116
drwxr-xr-x 7 silver_bullet silver_bullet 4096 Jun 19 16:58 ./
drwxrwxr-x 3 silver_bullet silver_bullet 4096 Oct 31 15:34 ../
-rwxr-xr-x 1 silver_bullet silver_bullet 9671 May 26 19:37 addons.sh*
-rw-r--r-- 1 silver_bullet silver_bullet 13722 Dec 31 2018 ChangeLog
drwxr-xr-x 4 silver_bullet silver_bullet 4096 Apr 1 2019 conf/
drwxr-xr-x 2 silver_bullet silver_bullet 4096 Sep 19 14:15 include/
drwxr-xr-x 2 silver_bullet silver_bullet 4096 Mar 13 2019 init.d/
-rwxr-xr-x 1 silver_bullet silver_bullet 5393 Jun 19 16:43 install.sh*
-rw-r--r-- 1 silver_bullet silver_bullet 209 Jul 3 2016 License
-rwxr-xr-x 1 silver_bullet silver_bullet 375 Jan 4 2019 lnmp.conf*
-rwxr-xr-x 1 silver_bullet silver_bullet 5193 Mar 21 2019 pureftpd.sh*
-rw-r--r-- 1 silver_bullet silver_bullet 7131 Jun 4 09:16 README
drwxr-xr-x 3 silver_bullet silver_bullet 4096 Jul 9 2015 src/
drwxr-xr-x 2 silver_bullet silver_bullet 4096 Apr 1 2017 tools/
-rwxr-xr-x 1 silver_bullet silver_bullet 6447 Dec 7 2018 uninstall.sh*
-rwxr-xr-x 1 silver_bullet silver_bullet 14420 Sep 29 14:56 upgrade1.x-1.6.sh*
-rwxr-xr-x 1 silver_bullet silver_bullet 2777 Dec 7 2018 upgrade.sh*
//运行安装
silver_bullet@Aliyun:~/lnmp/lnmp1.6$ ./install.sh

选择安装的数据库版本,这里我选择了5.6版本。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
+------------------------------------------------------------------------+
| LNMP V1.6 for Ubuntu Linux Server, Written by Licess |
+------------------------------------------------------------------------+
| A tool to auto-compile & install LNMP/LNMPA/LAMP on Linux |
+------------------------------------------------------------------------+
| For more information please visit https://lnmp.org |
+------------------------------------------------------------------------+
You have 11 options for your DataBase install.
1: Install MySQL 5.1.73
2: Install MySQL 5.5.62 (Default)
3: Install MySQL 5.6.44
4: Install MySQL 5.7.26
5: Install MySQL 8.0.13
6: Install MariaDB 5.5.63
7: Install MariaDB 10.0.38
8: Install MariaDB 10.1.40
9: Install MariaDB 10.2.24
10: Install MariaDB 10.3.15
0: DO NOT Install MySQL/MariaDB
Enter your choice (1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or 0): 3
You will Install MySQL 5.6.44
===========================
Please setup root password of MySQL.

选择安装的PHP版本,这里建议直接安装最新的。

1
2
3
4
5
6
7
8
9
10
11
You have 9 options for your PHP install.
1: Install PHP 5.2.17
2: Install PHP 5.3.29
3: Install PHP 5.4.45
4: Install PHP 5.5.38
5: Install PHP 5.6.40 (Default)
6: Install PHP 7.0.33
7: Install PHP 7.1.30
8: Install PHP 7.2.19
9: Install PHP 7.3.6
Enter your choice (1, 2, 3, 4, 5, 6, 7, 8 or 9): 9

之后敲两次Enter就直接进入安装过程了,这个过程大概需要十几二十分钟,这里一般不会出错,安心等待。

安装成功后输出信息如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Oct 31 16:29:28 Aliyun systemd[1]: Starting LSB: start and stop MySQL...
Oct 31 16:29:29 Aliyun mysql[24885]: Starting MySQL. *
Oct 31 16:29:29 Aliyun systemd[1]: Started LSB: start and stop MySQL.
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 127.0.0.1:6012 *:*
LISTEN 0 10 127.0.0.1:587 *:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 10 127.0.0.1:25 *:*
LISTEN 0 128 127.0.0.1:6010 *:*
LISTEN 0 128 127.0.0.1:6011 *:*
LISTEN 0 128 :::27017 :::*
LISTEN 0 128 :::3306 :::*
LISTEN 0 128 :::8080 :::*
Install lnmp takes 48 minutes.
Install lnmp V1.6 completed! enjoy it.

安装成功后,输入IP地址,即可显示Nginx欢迎界面。

helloWorldpress

此时,网站的根目录在/home/wwwroot/default

部署Wordpress

获取Wordpress

官网获取Wordpress中文版,下载.tar.gz压缩文件,通过FTP拷贝进服务器,解压缩。

1
2
3
4
5
6
silver_bullet@Aliyun:~/wordpress$ ll
total 11540
drwxrwxr-x 2 silver_bullet silver_bullet 4096 Oct 31 18:21 ./
drwxr-xr-x 12 silver_bullet silver_bullet 4096 Oct 31 16:25 ../
-rw-rw-r-- 1 silver_bullet silver_bullet 11805777 Oct 31 18:20 wordpress-5.2.4-zh_CN.tar.gz
silver_bullet@Aliyun:~/wordpress$ tar -zxvf wordpress-5.2.4-zh_CN.tar.gz

替换Nginx页面

将解压所得wordpress文件夹拷贝至网站的根目录。

1
sudo cp -r wordpress /www/wwwroot/

将原有的default文件夹改名为old,并且将拷贝进去的wordpress文件夹改名为default

1
2
sudo mv default/ old
sudo mv wordpress/ default

给目录授权

1
2
3
4
5
6
# 目录以及目录下的文件授权
chown -R 755 /home/wwwroot
chown: changing ownership of ‘/home/wwwroot/old/.user.ini’: Operation not permitted
# 将目录的所有者分给www组下的www用户。
chown -R www:www /home/wwwroot/
chown: changing ownership of ‘/home/wwwroot/old/.user.ini’: Operation not permitted

出现的提示大概是说有一个文件无法更改用户分组和权限。不会影响你的wordpress,可以忽略。

配置数据库

登陆数据库:

1
mysql -u root -p

创建数据库:

1
create database wordpress;

查看创建情况:

1
2
3
4
5
6
7
8
9
10
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| wordpress |
+--------------------+
4 rows in set (0.00 sec)

之后退出即可。

配置Wordpress

访问服务器IP,即可进入Wordpress初始化:

start

现在开始!

配置你的数据库:

start2

提交后,经过短暂的安装过程,即可进入Wordpress的Dashboard了。

start3

总结

作为一名内容产出者,不同的Blog框架的确可以给我们带来不同的体验和便利,但作为Blog本身,我认为更重要的始终是内容本身,无论使用什么框架建站,我始终希望坚持写作,才是技术分享、生活分享最原生的动力。