lnmp基于fastcgi实现nginx_php_mysql的分离_LNMP基于FastCGI实现Nginx,PHP,MySQL的架构分离...
架構圖:
運行原理:
用戶通過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準備
解壓到/web/wordpress
(c)、 nginx安裝
安裝好之后編輯/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
編譯安裝完成之后,把/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
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:
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的lnmp基于fastcgi实现nginx_php_mysql的分离_LNMP基于FastCGI实现Nginx,PHP,MySQL的架构分离...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 5.6 删除用户_mysql
- 下一篇: mysql 控制台全是_Mysql控制台