基於centos7搭建wordpress個人網站


一、環境准備

我們先介紹下環境和實驗中所需要的包

環境:

我使用的是centos7.4的系統

建議關掉selinux和影響到80端口的防火牆策略

程序包:

nginx(使用系統默認帶的光盤里的包,當然也可以自己編譯安裝,但是搭建個人博客不建議,因為沒必要)

mariadb-server(數據庫使用maridb-server也是系統本地鏡像里的)

php-fpm(用來管理php程序的,另外nginx不支持php模塊)

php-mysql(用來事項php與數據庫連接)

wordpress程序包,官網地址: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   設置開機自啟
二、各服務配置

Nginx

寫nginx的配置文件也有兩種方式,直接寫主配置里,和寫到conf.d文件夾下,這里使用第二種,其實沒啥區別

# 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;         #特別注意:用來設置緩存的一些參數,當你要做多虛擬主機時一定要在重新設置以個並在server配置段里修改
}
這個主要是定義緩存的一些配置,可直接拿來用
# vim /etc/nginx/conf.d/blog.conf   #必須conf后綴
server {
      listen       80 ;     #監聽地址
      server_name blog.luckynm.cn ;   #域名
      root         /data/wordpress ;   #web的根路徑
      index index.php index.html index.hml;   #默認索引
      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)$ {       #用來查看網站的狀態信息,可以不添加
              fastcgi_pass 127.0.0.1:9000;
              fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
              include fastcgi_params;
      }
      location /files {           #用來在網頁訪問文件夾,相當於做了個文件夾映射,可根據個人情況添加
              root /data/wordpress;
              autoindex on;
              autoindex_exact_size off;
              autoindex_localtime on;
      }

}
nginx的配置基本就這些,如有疑問可以聯系我
MySQL

在命令行輸入mysql進入數據庫

數據庫的話可以再做些安全配置,這里就不演示啦

# mysql
MariaDB [(none)]> create user 'ningmeng'@'localhost' identified by 'XXXXXXX'; 創建個給wordpress使用的連接數據庫的賬號
MariaDB [(none)]> create database wordpress; 創建數據庫
MariaDB [(none)]> grant all privileges on wordpress.* to 'ningmeng'@'%';   給ningmeng用戶授權
建議創建好后登陸測試一下

mysql -uningmeng -pXXXXXX
Php-Fpm

它有好多的參數可以設置,也有好多坑,在這里會給大家說一下需要注意的地方

# vim /etc/php-fpm.d/www.conf
user = nginx   #設置所屬者所屬組,不設置的話在裝wordpress升級主題時有各種各樣的權限問題
group = nginx
pm = ondemand   #推薦使用這個模式,對他的詳細介紹參考http://blog.luckynm.cn/?p=65
pm.max_children = 50   #這些都可以配置也可以默認,看情況
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.status_path = /status
pm.status_path = /status   #后面這三個是用來設置在web頁面上查看服務器狀態信息的,配合nginx種server段的配置使用
ping.path = /ping
ping.response = pong
Wordpress

在做好前面的步驟后先不要啟動,因為它們啟動可能會有順序問題

把下載下來的wordpress包傳到本地,可以重新建一個文件夾存放也可以直接放到/root目錄下

建議使用中文的包wordpress-4.9.4-zh_CN.tar.gz

# mkdir -pv /data   創建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   設置配置文件
# vim wp-config.php
define('DB_NAME', 'wordpress');     WordPress數據庫的名稱
define('DB_USER', 'ningmeng');     MySQL數據庫用戶名
define('DB_PASSWORD', '970628');   MySQL數據庫密碼
define('DB_HOST', 'localhost');     MySQL主機
啟動

systemctl start mariadb php-fpm
systemctl start nginx  
注意:php-fpm一定要在nginx前啟動,要不然會提示找不到緩存文件夾
總結

以上就是我們搭建博客的全部內容,在搭建過程中一定要注意一些配置的細節,又可能一個參數沒配,整個架構都起不來,這篇文章也僅代表我自己的見解,不同的系統有不同的配置,我總結了下平常小伙伴們可能遇到的問題,在這里和大家分享下:


解決辦法:都是權限的問題,在php-fpm的/etc/php-fpm.d/www.conf里修改所屬者所屬組,默認時apache

user = nginx  
group = nginx

問題描述:服務器內存小,mysql老自動停機

解決辦法:   優化下pfp-fpm就好啦,本文中提到啦優化的方式,或參考:http://blog.luckynm.cn/?p=65

如果想要實現讓nginx顯示文件夾目錄可參考:http://blog.luckynm.cn/?p=120
本文或許遺漏了某些細節,如果有疑問請留言。
---------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM