您好,登錄后才能下訂單哦!
本篇內容介紹了“如何使用workpress搭建個人博客網站”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
前面幾篇文章已經介紹了怎么在Linux下搭建LNMP環境:
1.安裝MySQL/MariaDB
2.安裝PHP
3.安裝Nginx
4.nginx配置虛擬主機
接下來開始使用workpress搭建個人博客網站:
workpress官網:https://cn.wordpress.org/
下載workpress:
[root@linux ~]# wget https://cn.wordpress.org/latest-zh_CN.tar.gz
解壓:
[root@linux ~]# tar -zxvf latest-zh_CN.tar.gz
創建博客網站目錄:
[root@linux ~]# mkdir -p /data/www/test.blog.com
將workpress安裝包中的文件移動到博客網站目錄下:
[root@linux ~]# mv wordpress/* /data/www/test.blog.com/
修改nginx虛擬主機配置文件:
[root@linux ~]# vi /etc/nginx/conf.d/default.conf
修改以下內容:
1.定義博客網站的自定義域名(如有真實域名可以使用真實域名)
2.定義博客網站的目錄
3.添加index.php(WordPress使用的是php)
4.將該配置文件底部的php段內容的注釋符號#去掉,定義網站的目錄
5.修改/scripts為網站目錄路徑
驗證配置文件并重載:
[root@linux ~]# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful [root@linux ~]# nginx -s reload
Windows上修改hosts文件內容為:
打開瀏覽器訪問test.blog.com:
#wordpress的頁面已成功顯示
接下來創建博客網站的數據庫:
登錄:
[root@linux ~]# mysql -uroot -p123456 Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 12 Server version: 10.3.18-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
創建數據庫:
MariaDB [(none)]> create database wordpress; Query OK, 1 row affected (0.000 sec)
創建用戶:
MariaDB [(none)]> grant all on wordpress.* to 'blog'@'127.0.0.1' identified by 'test123'; Query OK, 0 rows affected (0.029 sec)
#創建用戶blog,密碼test123,授權從127.0.0.1連接
修改網站目錄文件的屬主:
[root@linux ~]# cd /data/www/test.blog.com/ [root@linux test.blog.com]# chown -R php-fpm .
打開瀏覽器訪問test.blog.com開始配置數據庫信息:
#輸入好數據庫信息點擊提交即可
開始安裝:
#定義網站標題,用戶名,密碼(郵件地址必填,但未配置郵件服務不會發郵件)
填寫完成后點擊安裝,顯示成功:
再次訪問自定義的域名test.blog.com即可顯示出博客頁面:
在頁面下方點擊登錄后進入后臺管理頁面:
接下來就可以自由編輯博客的主頁排版、外觀樣式、權限等設置了。
discuz官網:https://www.discuz.net/forum.php
安裝git:
[root@linux ~]# yum -y install git
通過git的方式克隆discuz包到本機:
[root@linux ~]# git clone https://gitee.com/ComsenzDiscuz/DiscuzX.git
拷貝discuz包中的upload目錄到/data/www/路徑下并重命令目錄:
[root@linux ~]# cp -r DiscuzX/upload/ /data/www/test.bbs.com
添加nginx虛擬主機配置文件:
[root@linux ~]# cd /etc/nginx/conf.d/ [root@linux conf.d]# cp default.conf bbs.conf
編輯配置文件:
[root@linux conf.d]# vi bbs.conf
修改以下內容:
1.定義bbs網站的自定義域名(如有真實域名可以使用真實域名)
2.定義bbs網站的目錄
3.添加index.php(discuz使用的是php)
4.將該配置文件底部的php段內容的注釋符號#去掉,定義bbs網站的目錄
5.修改/scripts為bbs網站目錄路徑
驗證配置文件并重載:
[root@linux conf.d]# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful [root@linux conf.d]# nginx -s reload
更改目錄屬主:
[root@linux conf.d]# cd /data/www/test.bbs.com/ root@linux test.bbs.com]# chown -R php-fpm config/ data/ uc_server/data/ uc_client/data/
修改Windows系統C:\Windows\System32\drivers\etc\hosts文件:(使用真實域名并已解析到服務器IP地址可忽略此步)
#添加自定義域名:test.bbs.com
打開瀏覽器訪問域名即可開始安裝:
點擊我同意之后繼續點擊下一步需要配置數據庫信息:
登錄數據庫:
[root@linux test.bbs.com]# mysql -uroot -p123456 Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 92 Server version: 10.3.18-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
創建bbs網站數據庫:
MariaDB [(none)]> create database bbs; Query OK, 1 row affected (0.000 sec)
創建授權用戶:
MariaDB [(none)]> grant all on bbs.* to 'bbsuser'@'127.0.0.1' identified by 'test123'; Query OK, 0 rows affected (0.005 sec)
#創建用戶bbsuser,密碼test123,授權從127.0.0.1連接
填寫數據庫信息:
#數據庫信息填寫剛創建的,管理員信息自己設置密碼即可,郵箱默認即可
完成安裝后bbs網站就搭建完成:
使用管理員賬號登錄后臺:
接下來即可開始自由設置bbs網站了!
--------------------------------------------------------------------------------------------------
nginx配置多個域名:
編輯nginx虛擬主機配置文件:
[root@linux ~]# vi /etc/nginx/conf.d/default.conf
在server_name項新增域名www.blog.com:
驗證配置并重載:
[root@linux ~]# nginx -t && nginx -s reload
接下來即可通過新域名www.blog.com訪問該網站:
nginx配置域名重定向/跳轉:
編輯nginx虛擬主機配置文件:
[root@linux ~]# vi /etc/nginx/conf.d/default.conf
添加如下內容:
if ( $host = test.blog.com ) { rewrite /(.*) http://www.blog.com/$1 permanent; }
驗證配置并重載:
[root@linux ~]# nginx -t && nginx -s reload nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
測試:
[root@linux ~]# curl -x127.0.0.1:80 -I test.blog.com HTTP/1.1 301 Moved Permanently Server: nginx/1.16.1 Date: Sun, 13 Oct 2019 15:24:43 GMT Content-Type: text/html Content-Length: 169 Connection: keep-alive Location: http://www.blog.com/
#http狀態碼301,Location: http://www.blog.com/,對test.blog.com的請求已成功跳轉到www.blog.com,對于搜索引擎來說,test.blog.com被認為是舊域名,而優先訪問新域名www.blog.com
永久重定向:permanent http狀態碼:301 (域名重定向使用,轉移域名權重)
臨時重定向:redirect http狀態碼:302 (非域名跳轉使用,比如文件跳轉)
編輯nginx虛擬主機配置文件:
[root@linux ~]# vi /etc/nginx/conf.d/default.conf
nginx添加文件跳轉:
rewrite /1.txt /2.txt redirect;
驗證配置并重載:
[root@linux ~]# nginx -t && nginx -s reload nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
測試:
[root@linux ~]# curl -x127.0.0.1:80 -I www.blog.com/1.txt HTTP/1.1 302 Moved Temporarily Server: nginx/1.16.1 Date: Sun, 13 Oct 2019 15:45:17 GMT Content-Type: text/html Content-Length: 145 Location: http://www.blog.com/2.txt Connection: keep-alive
#http狀態碼:302,Location: http://www.blog.com/2.txt,文件跳轉成功
Nginx雙重用戶認證:
適用于一些網站的重要頁面(比如:管理員登錄的后臺管理頁面),雙重認證的效果就是在打開重要頁面輸入賬號密碼登錄之前先驗證一次用戶雙重認證的用戶名和密碼。
打開個人博客網站管理員登錄頁面:
修改nginx虛擬主機配置文件給當前頁面wp-login.php添加雙重用戶認證:
[root@linux ~]# vi /etc/nginx/conf.d/default.conf
添加以下內容:
location ~ wp-login.php { auth_basic "Auth"; auth_basic_user_file /etc/nginx/user_passwd; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/www/test.blog.com$fastcgi_script_name; include fastcgi_params; }
并將root、index項的location去掉,使之變為全局配置:
由于添加的配置內容定義了雙重用戶驗證配置為/etc/ngninx/user_passwd,但當前沒有這個文件,需要使用htpasswd命令生成該文件:
安裝httpd-tools包:
[root@linux ~]# yum -y install httpd-tools
生成配置文件并添加認證用戶:
[root@linux ~]# htpasswd -c /etc/nginx/user_passwd admin1 New password: Re-type new password: Adding password for user admin1
#生成user_passwd文件并增加認證用戶admin1并設置密碼,-c 參數:創建,首次生成認證配置文件使用
需要新增認證用戶使用-m 參數(MD5加密):
[root@linux ~]# htpasswd -m /etc/nginx/user_passwd admin2 New password: Re-type new password: Adding password for user admin2
查看用戶認證配置文件即可看到添加的用于認證賬號:
[root@linux ~]# cat /etc/nginx/user_passwd admin1:$apr1$Qn57LBlw$fE4QyHrsQReHUrSvPdmxs/ admin2:$apr1$VH2Qe1nW$zn.1Hzn3QaF2RwJJDheGN.
重載nginx:
[root@linux ~]# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful [root@linux ~]# nginx -s reload
再次打開個人博客網站管理員登錄頁面即可顯示雙重用戶認證對話框:
#先進行雙重用戶驗證后即可輸入管理員賬號密碼登錄后臺
Nginx location優先級詳解:
nginx的location配置:
nginx location語法規則:location [=|\~|\~*|^~|/] /uri/ { … }
nginx的location匹配的變量是$uri
符號 | 說明 |
---|---|
= | 表示精確匹配 |
^~ | 表示uri以指定字符或字符串開頭 |
~ | 表示區分大小寫的正則匹配 |
~* | 表示不區分大小寫的正則匹配 |
/ | 通用匹配,任何請求都會匹配到 |
優先級規則:
= 高于 ^~ 高于 ~* 等于 ~ 高于 /
規則示例:
location = "/12.jpg" { ... }
如:
www.test.com/12.jpg 匹配
www.test/abc/12.jpg 不匹配
location ^~ "/abc/" { ... }
如:
www.test/abc/123.html 匹配
www.test.com/a/abc/123.jpg 不匹配
location ~ "png" { ... }
如:
www.test.com/aaa/bbb/ccc/123.png 匹配
www.test.com/aaa/png/123.html 匹配
location ~* "png" { ... }
如:
www.test.com/aaa/bbb/ccc/123.PNG 匹配
www.test.com/aaa/png/123.html 匹配
location /admin/ { ... }
如:
www.test.com/admin/aaa/1.php 匹配
www.test.com/123/admin/1.php 不匹配
對比 / 和 ~
示例1:
server{ listen 80; server_name www.test.com; root /tmp/123.com; location /abc/ { echo "/"; } location ~ 'abc' { echo "~"; } }
測試命令:curl -x127.0.0.1:80 'www.test.com/abc/1.png'
結果是:~
**對比 ~ 和 ~***
示例2:
server { listen 80; server_name www.test.com; root /tmp/123.com; location ~ 'abc' { echo '~'; } location ~* 'abc' { echo '~*'; } }
測試命令:curl -x127.0.0.1:80 'www.test.com/abc/123.html'
結果是:~
示例3:
server { listen 80; server_name www.test.com; root /tmp/123.com; location ~* 'abc' { echo '~*'; } location ~ 'abc' { echo '~'; } }
測試命令:curl -x127.0.0.1:80 'www.test.com/abc/123.html'
結果是:~*
結論:~ 和 ~*優先級其實是一樣的,如果兩個同時滿足條件,配置文件中哪個location靠前,哪個生效。
對比 ^~ 和 ~
示例4:
server { listen 80; server_name www.test.com; root /tmp/123.com; location ~ '/abc' { echo '~'; } location ^~ '/abc' { echo '^~'; } }
測試命令:curl -x127.0.0.1:80 'www.test.com/abc/123.html
結果是:^~
對比 = 和 ^~
示例5:
server { listen 80; server_name www.test.com; root /tmp/123.com; location ^~ '/abc.html' { echo '^~'; } location = '/abc.html' { echo '='; } }
測試命令:curl -x127.0.0.1:80 'www.test.com/abc.html
結果是:=
Nginx訪問日志主要記錄部署在nginx上的網站訪問數據,日志格式定義在nginx主配置文件中。
nginx主配置文件:/etc/nginx/nginx.conf
查看nginx主配置文件:
[root@linux ~]# cat /etc/nginx/nginx.conf
下圖紅框內就是定義的nginx訪問日志的格式:
#main:格式名
$remote_addr:訪問網站的IP
$remote_user:如果配置了用戶認證,表示用戶認證的用戶名
$time_local:訪問時間
$request:http方法,請求的鏈接,http版本
$status:http狀態碼
$body_bytes_sent:請求大小
$http_referer:客戶端請求時的referer,通俗講就是該請求是通過哪個鏈接跳轉過來的
$http_user_agent:客戶端操作系統和瀏覽器標識
$http_x_forwarded_for:如果使用了代理,記錄代理IP
訪問日志配置路徑:
針對單個nginx虛擬主機配置訪問日志:
1.編輯nginx虛擬主機配置文件:
[root@linux ~]# vi /etc/nginx/conf.d/default.conf
2.定義訪問日志存放路徑和格式:
3.重載nginx:
[root@linux ~]# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful [root@linux ~]# nginx -s reload
4.在瀏覽器訪問虛擬主機配置的網站后即可生成日志信息:
[root@linux ~]# cat /data/logs/nginx.log 192.168.234.1 - - [15/Oct/2019:14:48:15 +0800] "GET /?p=1 HTTP/1.1" 200 57931 "http://www.blog.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36" "-" 192.168.234.1 - - [15/Oct/2019:14:48:15 +0800] "GET /wp-includes/js/comment-reply.min.js?ver=5.2.3 HTTP/1.1" 301 169 "http://www.blog.com/?p=1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36" "-" 192.168.234.1 - - [15/Oct/2019:14:48:15 +0800] "GET /wp-includes/js/comment-reply.min.js?ver=5.2.3 HTTP/1.1" 200 2234 "http://www.blog.com/?p=1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.75 Safari/537.36" "-"
“如何使用workpress搭建個人博客網站”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。