1. 开源博客程序WordPress介绍
WordPress是一套利用PHP语言和MySQL数据库开发的开源免费Blog(博客,网站)程序,用户可以在支持PHP环境和MySQL数据库的服务器上建立Blog站点。它的功能非常强大,插件众多,易于扩充功能。其安装和使用也非常方便。目前WordPress已经成为主流的Blog搭建平台,很多发布平台都是根据WordPress二次开发的,如果你也想拥有自己的Blog,可购买网上的域名及空间,然后搭建LNMP环境,在部署WordPress程序后就可以轻松成就自己的梦想了。
2. WordPress博客程序的搭建准备
2.1 MySQL数据库配置准备
1)登录MySQL数据库:
[root@web01 mysql]# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
---省略若干---
oldboy [(none)]>
2)创建一个专用的数据库wordpress,用于存放Blog数据。
oldboy [(none)]>create database wordpress; ---创建一个数据库,命名为wordpress
Query OK, 1 row affected (0.00 sec)
oldboy [(none)]>show databases like 'wordpress'; ---查看
+----------------------+
| Database (wordpress) |
+----------------------+
| wordpress |
+----------------------+
1 row in set (0.00 sec)
3)创建一个专用的WordPress Blog管理用户。
oldboy [(none)]>grant all on wordpress.* to wordpress@'localhost' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)
当数据库和PHP服务不在同一台机器上,可以执行如下命令授权:
oldboy [(none)]>grant all on wordpress.* to wordpress@'192.168.9.%' identified by '123456';
---192.168.9.%为客户地址段
Query OK, 0 rows affected, 1 warning (0.00 sec)
oldboy [(none)]>flush privileges; ---刷新权限,使得创建用户生效,非必需
Query OK, 0 rows affected (0.00 sec)
oldboy [(none)]>show grants for wordpress@'localhost'; ---查看用户对应的权限
+------------------------------------------------------------------+
| Grants for wordpress@localhost |
+------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'wordpress'@'localhost' |
| GRANT ALL PRIVILEGES ON `wordpress`.* TO 'wordpress'@'localhost' |
+------------------------------------------------------------------+
2 rows in set (0.00 sec)
oldboy [(none)]>select user,authentication_string,host from mysql.user; ---5.7查看用户列表命令
+---------------+-------------------------------------------+-------------+
| user | authentication_string | host |
+---------------+-------------------------------------------+-------------+
| root | *FE28814B4A8B3309DAC6ED7D3237ADED6DA1E515 | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | localhost |
| wordpress | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | localhost |
| wordpress | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | 192.168.9.% |
+---------------+-------------------------------------------+-------------+
5 rows in set (0.00 sec)
oldboy [(none)]>quit
Bye
2.2 Nginx及PHP环境配置准备
1)选择前文配好的支持LNMP的Blog域名对应的虚拟主机。
[root@web01 mysql]# cd /application/nginx/conf/extra/
[root@web01 extra]# cat 03_blog.conf
server {
listen 80;
server_name blog.etiantian.org;
location / {
root html/blog;
index index.php index.html index.htm; ---补充一个首页文件index.php在前面
}
location ~ .*\.(php|php5)?$ {
root html/blog;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}
[root@web01 extra]# nginx -t
nginx: the configuration file /application/nginx-1.16.0//conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.16.0//conf/nginx.conf test is successful
[root@web01 extra]# nginx -s reload
2)获取WordPress博客程序,并放置到Blog域名对应虚拟主机的站点目录下,即html/blog。
[root@web01 extra]# cd ../../html/blog/
[root@web01 blog]# ls -sh wordpress-5.3.1-zh_CN.zip ---浏览www.wordpress.org/download下载博客程序
13M wordpress-5.3.1-zh_CN.zip
[root@web01 blog]# unzip wordpress-5.3.1-zh_CN.zip ---解压软件包
[root@web01 blog]# ls
index.html test_mysql.php wordpress wordpress-5.3.1-zh_CN.zip
[root@web01 blog]# rm -f index.html test_mysql.php ---删除无用文件
[root@web01 blog]# mv wordpress/* . ---把程序内容移动到blog根目录
[root@web01 blog]# /bin/mv wordpress-5.3.1-zh_CN.zip /home/oldboy/tools/ ---移走源程序备份起来
[root@web01 blog]# chown -R nginx.nginx ../blog/
---授权Nginx及PHP服务可以访问Blog站点目录,此授权不是很安全,是临时的办法,更规范的做法见后文的LNMP优化部分
至此,准备工作就做好了。
3. 安装博客程序
1)打开浏览器输入“blog.etiantian.org”。
2)点击“现在就开始!”按钮,在出现的页面表单上填写相应的内容。
3)在页面表单里填好相应的内容后,点击结尾的“提交”按钮。
4)出现如上图所示的界面就表示可以安装WordPress了,点击“现在安装”按钮。
5)根据界面提示设置Blog站点的信息后,点击“安装WordPress”按钮。出现如下图所示的信息提示,表示WordPress博客已经成功安装了。
博客使用方法
1)在下图所示的界面输入账号和密码,然后点击“登录”按钮即可登录Blog网站的管理后台。
2)下图为管理后台界面,左侧是管理菜单。
3)点击“文章”—>“写文章”按钮发布博文。
4)点击右上角“发布”按钮发布博文,发布成功后的界面如下图所示。
至此,LNMP环境搭建及博客程序部署全部完成。
4. 实现WordPress博客程序URL静态化
要想实现此功能,首先要在WordPress后台一次点击“设置→固定链接→自定义结构”按钮,然后输入下面的代码,并保存更改。
/archives/%post_id%.html
说明:%port_id%是数据库对应博文内容唯一的ID,如423。
修改过程如下图所示。
接着,在Nginx配置文件的server容器中添加下面的配置:
[root@web01 extra]# cat 03_blog.conf
server {
listen 80;
server_name blog.etiantian.org;
location / {
root html/blog;
index index.php index.html index.htm;
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;
}
}
location ~ .*\.(php|php5)?$ {
root html/blog;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}
最后,重新加载Nginx服务:
[root@web01 extra]# nginx -t
nginx: the configuration file /application/nginx-1.16.0//conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.16.0//conf/nginx.conf test is successful
[root@web01 extra]# nginx -s reload
现在可以通过浏览器访问了,如下图所示。