分离式lnmp部署

分离式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简介与配置

原文地址:https://www.cnblogs.com/lynk/p/10466440.html