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