分離式lnmp簡介 lnmp和lamp一樣,是一種常用的web環境, 在實際環境中,lnmp中的三個服務常常為了更好的性能而分在三台主機上安裝。 本篇內只介紹nginx和php fpm+mysql分離的情況 環境 nginx 192.168.83.128 lynk php fpm+mysql 192 ...
分離式lnmp簡介
lnmp和lamp一樣,是一種常用的web環境,
在實際環境中,lnmp中的三個服務常常為了更好的性能而分在三台主機上安裝。
本篇內只介紹nginx和php-fpm+mysql分離的情況
環境
- nginx-192.168.83.128-lynk
- php-fpm+mysql-192.168.83.129-hyrule
安裝nginx、php-fpm、mysql
安裝過程可參考nginx簡介與配置與lamp簡介與配置
整合nginx與php-fpm
lynk端
[root@lynk www]# vim /usr/local/nginx/conf/nginx.conf
#添加一個虛擬主機
location ~ \.php$ {
root /www; #這裡我用的/www為php網頁儲存目錄,可以改成其他的,只要把php網頁放進相應的目錄里就可以了
fastcgi_pass 192.168.83.129:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
[root@lynk www]# vim /usr/local/nginx/conf/fastcgi_params
#添加一條參數
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
hyrule端
[root@hyrule www]# vim /usr/local/php7/etc/php-fpm.d/www.conf
#有則修改,無則添加
listen = 9000
重啟nginx和php-fpm後,在兩個主機分別新建www目錄,給予其許可權。
[root@lynk ~]# mkdir /www
[root@lynk ~]# chown nginx.nginx /www/
[root@lynk ~]# cd /www
[root@lynk ~]# cat > index.php <EOF
<?php
phpinfo();
?>
EOF
[root@hyrule ~]# mkdir /www
#下麵這條命令之前要先在hyrule新建一個nginx用戶和nginx組,而且要保證兩個主機里nginx用戶和組的id相同
[root@hyrule ~]# chown nginx.nginx /www -R
[root@hyrule ~]# cd /www/
[root@hyrule ~]# cat > index.php <EOF
<?php
phpinfo();
?>
EOF
從上面可以看出來,如果想要讓nginx正常讀取php的網頁,需要在nginx端和php端同時具有相同的網頁文件,這樣未免過於繁瑣,而且容易出現有餘網頁不同導致的問題,我們可以通過nfs來共用/www目錄避免網頁不同步的問題。
具體nfs部署與配置請詳看nfs簡介與配置