2020-03-27 部署一个Blog程序服务

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)下图为管理后台界面,左侧是管理菜单。

登录后的wordpress后台

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

现在可以通过浏览器访问了,如下图所示。

博客伪静态页面图

你可能感兴趣的:(2020-03-27 部署一个Blog程序服务)