我有三个php-fpm服务器和一个nginx服务器,我想使用nginx服务器对php-fpm进行负载均衡。
php-fpm server1 - 192.168.10.31 php-fpm server2 - 192.168.10.32 php-fpm server3 - 192.168.10.33
nginx - server - 192.168.10.12
我在nginx服务器上的配置是;
upstream php_backend {
server 192.168.10.31:9000;
server 192.168.10.32:9000;
server 192.168.10.33:9000;
}
location ~ \.php$ {
fastcgi_pass php_backend;
}但我的问题是,我应该在哪里定义webroot根目录/path/to/webfiles
因为在nginx服务器192.168.10.12上,访问日志显示未找到文件- 404。我应该在哪里保存网站的php文件?在nginx服务器还是php服务器上?还是同时在nginx和php服务器上运行?
发布于 2017-03-16 16:30:25
这是一个老生常谈的问题,但我将在这里为任何人提供我的答案。
Robbie Averill的评论是正确的。您应该在Nginx和PHP服务器上托管您的文件。您可以使用NFS共享来执行此操作,但这可能会减慢速度。
要解决这个问题,你可以在nginx服务器上更新你的代码,然后rsync到php服务器。您可以很容易地构建一个bash脚本,该脚本执行以下操作:
rsync -avzp -e ssh /srv/www/ svc_internal@php.insypro.com:/srv/www/
rsync -avzp -e ssh /srv/www/ svc_internal@php2.insypro.com:/srv/www/
rsync -avzp -e ssh /srv/www/ svc_internal@php3.insypro.com:/srv/www/当然,您可能希望将其包含在一个bash脚本中,该脚本负责更新代码并同步php机器。
https://stackoverflow.com/questions/37402788
复制相似问题