架構圖:
運作原理:
使用者通過Ngsvr排程器通路wordpress,Ngsvr伺服器會根據排程算法把請求負載均衡排程至Usvr1和Usvr2. 并通過fastcgi協定與Usvr1、Usvr2通信傳回動态資料
總體配置:
Ngsvr: IP 192.168.61.131,需安裝的軟體nginx,wordpress
Usvr1: IP 192.168.61.139,需安裝的軟體php
Usvr2: IP 192.168.61.140需安裝的軟體php,mysql
1.配置Ngsvr
(a) 、配置nfs
安裝
yum -y install nfs-utils
添加開機啟動
chkconfig nfs on
設定wordpress目錄
mkdir -pv /web
編輯vim /etc/exports
/web 192.168.61.0/24(rw,no_root_squash)
啟動
service rpcbind start (不啟動的話會報錯)
chkconfig rpcbind on
service nfs start
檢查是否正常共享,有顯示所設定的目錄即為正常
showmount -e 192.168.61.131
(b)、 wordpress準備
下載下傳位址https://cn.wordpress.org/wordpress-4.3.1-zh_CN.tar.gz
解壓到/web/wordpress
(c)、 nginx安裝
安裝過程參考http://dengxi.blog.51cto.com/4804263/1710472
安裝好之後編輯/etc/nginx/fastcgi_params,将其内容更改為如下内容:
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
修改/etc/nginx/nginx.conf 檔案
在http段增加
upstream bbs {
server 192.168.61.139:9000;
server 192.168.61.140:9000;
}
/etc/nginx/nginx.conf,最後面有php配置的案例,去掉注釋修改
# pass the PHP scripts to FastCGI serverlistening on 127.0.0.1:9000
location ~ \.php$ {
root /web/wordpress; #指定wordpress目錄
fastcgi_pass bbs; #指定剛才定義的上遊伺服器組
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params; #使用擴充的fastcgi參數
}
最後啟動服務
service nginx start
2.配置Usvr1
挂載ngsvr的nfs
mkdir /web
mount -t nfs 192.168.61.131:/web /web
PHP安裝,參考http://dengxi.blog.51cto.com/4804263/1710479
編譯安裝完成之後,把/usr/local/php/etc目錄下php-fpm.conf.default配置示例檔案改名php-fpm.conf作為配置檔案。
拷貝源碼目錄下的php.ini-production到編譯時指定的配置檔案目錄 /usr/local/php/etc下,并改名為php.ini。
拷貝源碼目錄下sapi/fpm/init.d.php-fpm 到/etc/init.d/php-fpm添加好啟動服務
最後啟動服務
service php-fpm start
3.配置Usvr2
挂載ngsvr的nfs
mkdir /web
mount-t nfs 192.168.61.131:/web /web
mysql安裝,參考http://dengxi.blog.51cto.com/4804263/1713256
PHP安裝,參考Usvr1
最後啟動mysql、php-fpm服務
4.後續整合配置
Usvr2:
登陸mysql增加wordpress資料庫和使用者wordpress,密碼123456
mysql -uroot -p
create database wordpress;
GRANTALL ON *.* TO wordpress@'0.0.0.0' IDENTIFIED BY '123456';
Ngsvr:
浏覽器運作http://192.168.61.131/wp-admin/install.php進行wordpress安裝
安裝完成後,即可以http://192.168.61.131/index.php通路wordpress
轉載于:https://blog.51cto.com/dengxi/1713318