基於centos7搭建wordpress我的網站

1、環境準備php

咱們先介紹下環境和實驗中所須要的包html

環境:mysql

我使用的是centos7.4的系統linux

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

程序包:web

nginx(使用系統默認帶的光盤裏的包,固然也能夠本身編譯安裝,可是搭建我的博客不建議,由於不必)sql

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

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

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

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   設置開機自啓
2、各服務配置

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 本文或許遺漏了某些細節,若是有疑問請留言。---------------------

相關文章
相關標籤/搜索