我有三台 php-fpm 服务器和一台 nginx 服务器,我想使用 nginx 服务器对 php-fpm 进行负载平衡。
php-fpm 服务器1 - 192.168.10.31
php-fpm 服务器2 - 192.168.10.32
php-fpm 服务器3 - 192.168.10.33
nginx-服务器-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 [ root /path/to/webfiles ]
因为在 nginx 服务器 [192.168.10.12] 上,访问日志显示找不到文件 - 404。我应该在哪里保存网站 php 文件?在 nginx 服务器还是 php 服务器上?或者在 nginx 和 php 服务器中?
这是一个老问题,但我会在这里为任何搜索这个问题的人提供我的答案。
罗比·艾夫里尔的评论是正确的。您应该将文件托管在 Nginx 和 PHP 服务器上。您可以使用 NFS 共享来执行此操作,但这可能会减慢速度。
要解决此问题,您可以更新 nginx 服务器上的代码,然后 rsync 到 php 服务器。
您可以轻松构建一个 bash 脚本,执行以下操作:
rsync -avzp -e ssh /srv/www/ [email protected] /cdn-cgi/l/email-protection:/srv/www/
rsync -avzp -e ssh /srv/www/ [email protected] /cdn-cgi/l/email-protection:/srv/www/
rsync -avzp -e ssh /srv/www/ [email protected] /cdn-cgi/l/email-protection:/srv/www/
当然,您希望将其包含在一个 bash 脚本中,该脚本会更新您的代码并同步 php 机器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)