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

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

博客伪静态页面图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容

  • 本篇教程将详细讲解WordPress建站流程,从服务器配置、域名解析、宝塔面板、wordpress建站、网站优化等...
    谷子吖阅读 1,478评论 0 2
  • 系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin/Al...
    一位先生_阅读 1,484评论 0 1
  • 利用假期时间参加了兴成长计划的学习,有惊喜,有收获,大家在网络上一起听专家研讨,一个多月的学习下来,心在成长。 一...
    洮北1129王昕暖阅读 308评论 0 0
  • 人们去远方只是为了紧紧地搂住自己,我只喜欢在笛声中闻着野草的清香; 我终于明白,世间有一种思绪,无法用言语形容,粗...
    Sunshine68阅读 608评论 1 2
  • 昼夜等长迎秋分,雷鸣收起蝉无声。 棉花吐絮稻谷黄,寒意渐浓露成霜。
    包冬桂阅读 368评论 3 6