gpt4 book ai didi

linux - Nginx 负载均衡器有两个负载均衡 nginx+php-fpm (主脚本未知)错误

转载 作者:太空宇宙 更新时间:2023-11-04 03:46:38 24 4
gpt4 key购买 nike

我们有两个带有 nginx+php-fpm 的 Web 服务器( 10.0.0.10 和 10.0.0.20 ),它们在另一个 nginx 服务器(只是 nginx )后面进行负载平衡,当我们尝试浏览时,我们会收到文件未找到错误,错误日志列在底部。

负载均衡器 (10.0.0.1)

nginx.conf

upstream test_rack {
server 10.0.0.10:80;
server 10.0.0.20:80;
}

server {
location / {
proxy_pass http://test_rack;
}
}}

上游服务器(10.0.0.20)

子域名.conf

server {
listen 80;
server_name ~^(?<sub>.+)\.example\.com$;

root /data/vhost/$sub.example.com/htdocs;

location / {
try_files $uri /index.php;
}


location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}}

网络服务器(10.0.0.10 和 10.0.0.20)出现错误

*1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 10.0.0.1, server: ~^(?<sub>.+)\.example\.com$, request: "GET / HTTP/1.0", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "test_rack"

尝试的解决方案:

fastcgi_param  SCRIPT_FILENAME   /data/vhost/$sub.example.com/htdocs/$fastcgi_script_name;

最佳答案

proxy_set_header Host $host; 添加到第一个 nginx。

否则,您的上游将获得 test_rack 而不是原始主机名,并且 $sub 变量为空。

关于linux - Nginx 负载均衡器有两个负载均衡 nginx+php-fpm (主脚本未知)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27978867/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com