隨著計算機技術(shù)的普及,搞IT的越來越多,但是隨著深入你會發(fā)現(xiàn)自己上了賊船,真的是一如IT深似海,從此妹紙是路人啊,當(dāng)你越來越接近自己想想中的目標(biāo)是,就會有種渺小感,這個行業(yè)知識太過深奧龐大啦。好啦不閑扯,我們開始我們的主題:使用wordpress搭建個人博客。
一、環(huán)境準(zhǔn)備
我們先介紹下環(huán)境和實驗中所需要的包
環(huán)境:
我使用的是centos7.4的系統(tǒng)
建議關(guān)掉selinux和影響到80端口的防火墻策略
程序包:
nginx(使用系統(tǒng)默認(rèn)帶的光盤里的包,當(dāng)然也可以自己編譯安裝,但是搭建個人博客不建議,因為沒必要)
mariadb-server(數(shù)據(jù)庫使用maridb-server也是系統(tǒng)本地鏡像里的)
php-fpm(用來管理php程序的,另外nginx不支持php模塊)
php-mysql(用來事項php與數(shù)據(jù)庫連接)
wordpress程序包,官網(wǎng)地址:https://wordpress.org/download/
wordpress主題:https://wordpress.org/themes/
# yum install nginx mariadb-server php-fpm php-mysql -y
# systemctl enable nginx mariadb php-fpm 設(shè)置開機自啟
二、各服務(wù)配置
Nginx
寫nginx的配置文件也有兩種方式,直接寫主配置里,和寫到conf.d文件夾下,這里使用第二種,其實沒啥區(qū)別
# vim /etc/nginx/nginx.conf
在http配置段里添加
http {
fastcgi_cache_path /var/cache/nginx/fcgi_cache levels=1:2:1 keys_zone=fcgicache:20m inactive=120s; #特別注意:用來設(shè)置緩存的一些參數(shù),當(dāng)你要做多虛擬主機時一定要在重新設(shè)置以個并在server配置段里修改
}
這個主要是定義緩存的一些配置,可直接拿來用
# vim /etc/nginx/conf.d/blog.conf #必須conf后綴
server {
listen 80 ; #監(jiān)聽地址
server_name blog.luckynm.cn ; #域名
root /data/wordpress ; #web的根路徑
index index.php index.html index.hml; #默認(rèn)索引
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~* \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_cache fcgicache;
fastcgi_cache_key $request_uri;
fastcgi_cache_valid 200 302 10m;
fastcgi_cache_valid 301 1h;
fastcgi_cache_valid any 1m;
}
location ~* ^/(status|ping)$ { #用來查看網(wǎng)站的狀態(tài)信息,可以不添加
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
include fastcgi_params;
}
location /files { #用來在網(wǎng)頁訪問文件夾,相當(dāng)于做了個文件夾映射,可根據(jù)個人情況添加
root /data/wordpress;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
}
nginx的配置基本就這些,如有疑問可以聯(lián)系我
MySQL
在命令行輸入mysql進入數(shù)據(jù)庫
數(shù)據(jù)庫的話可以再做些安全配置,這里就不演示啦
# mysql
MariaDB [(none)]> create user 'ningmeng'@'localhost' identified by 'XXXXXXX'; 創(chuàng)建個給wordpress使用的連接數(shù)據(jù)庫的賬號
MariaDB [(none)]> create database wordpress; 創(chuàng)建數(shù)據(jù)庫
MariaDB [(none)]> grant all privileges on wordpress.* to 'ningmeng'@'%'; 給ningmeng用戶授權(quán)
建議創(chuàng)建好后登陸測試一下
mysql -uningmeng -pXXXXXX
Php-Fpm
它有好多的參數(shù)可以設(shè)置,也有好多坑,在這里會給大家說一下需要注意的地方
# vim /etc/php-fpm.d/www.conf
user = nginx #設(shè)置所屬者所屬組,不設(shè)置的話在裝wordpress升級主題時有各種各樣的權(quán)限問題
group = nginx
pm = ondemand #推薦使用這個模式,對他的詳細(xì)介紹參考http://blog.luckynm.cn/?p=65
pm.max_children = 50 #這些都可以配置也可以默認(rèn),看情況
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.status_path = /status
pm.status_path = /status #后面這三個是用來設(shè)置在web頁面上查看服務(wù)器狀態(tài)信息的,配合nginx種server段的配置使用
ping.path = /ping
ping.response = pong
Wordpress
在做好前面的步驟后先不要啟動,因為它們啟動可能會有順序問題
把下載下來的wordpress包傳到本地,可以重新建一個文件夾存放也可以直接放到/root目錄下
建議使用中文的包wordpress-4.9.4-zh_CN.tar.gz
# mkdir -pv /data 創(chuàng)建data目錄,這個要和nginx中root定義的根要一致
# tar xvf wordpress-4.9.4-zh_CN.tar.gz -C /data/ 解壓到/data目錄下
# chown -R nginx:nginx /data/wordpress 修改所屬者所屬組,不該沒辦法換主題升級插件,等一系列問題
# cd /data/wordpress
# mv wp-config-sample.php wp-config.php 設(shè)置配置文件
# vim wp-config.php
define('DB_NAME', 'wordpress'); WordPress數(shù)據(jù)庫的名稱
define('DB_USER', 'ningmeng'); MySQL數(shù)據(jù)庫用戶名
define('DB_PASSWORD', '970628'); MySQL數(shù)據(jù)庫密碼
define('DB_HOST', 'localhost'); MySQL主機
啟動
systemctl start mariadb php-fpm
systemctl start nginx
注意:php-fpm一定要在nginx前啟動,要不然會提示找不到緩存文件夾
總結(jié)
以上就是我們搭建博客的全部內(nèi)容,在搭建過程中一定要注意一些配置的細(xì)節(jié),又可能一個參數(shù)沒配,整個架構(gòu)都起不來,這篇文章也僅代表我自己的見解,不同的系統(tǒng)有不同的配置,我總結(jié)了下平常小伙伴們可能遇到的問題,在這里和大家分享下:
解決辦法:都是權(quán)限的問題,在php-fpm的/etc/php-fpm.d/www.conf里修改所屬者所屬組,默認(rèn)時apache
user = nginx
group = nginx
問題描述:服務(wù)器內(nèi)存小,mysql老自動停機
解決辦法: 優(yōu)化下pfp-fpm就好啦,本文中提到啦優(yōu)化的方式,或參考:http://blog.luckynm.cn/?p=65
如果想要實現(xiàn)讓nginx顯示文件夾目錄可參考:http://blog.luckynm.cn/?p=120
我們專注高端建站,小程序開發(fā)、軟件系統(tǒng)定制開發(fā)、BUG修復(fù)、物聯(lián)網(wǎng)開發(fā)、各類API接口對接開發(fā)等。十余年開發(fā)經(jīng)驗,每一個項目承諾做到滿意為止,多一次對比,一定讓您多一份收獲!