【发布时间】:2012-10-24 17:00:05
【问题描述】:
下面是集群的简单nginx配置,然后我关闭192.168.1.77:3032服务器。
我有时会在日志中发现 502 错误和“连接上游客户端时没有实时上游”,而“服务器 unix:///var/tmp/site.sock 备份;”工作,我猜必须处理请求,但 nginx 并没有发现它是实时的。可能是什么问题?
nginx 配置:
upstream uwsgicluster {
server 192.168.1.77:3032;
server unix:///var/tmp/site.sock backup;
}
server {
listen 80;
server_name site.com www.site.com;
access_log /var/log/nginx/sire.log;
error_log /var/log/nginx/site-error.log;
location / {
uwsgi_pass uwsgicluster;
include uwsgi_params;
}
}
如果我删除 192.168.1.77:3032 服务器 从上游重新启动 nginx 它工作正常,但关闭 192.168.1.77:3032 服务器错误会定期发生
【问题讨论】:
-
您的远程上游服务器是否始终可用?
-
您的建筑实际上是一个负载平衡器。用 uwsgi 和 nginx 在它们之上设置应用程序服务器,然后创建这个负载平衡服务器,它唯一的工作就是将 http 80 请求传递给您的应用程序服务器(而不是 uwgi 请求)。
-
此外,当您的上游服务器出现故障时,这种对负载平衡的热交换看起来是让您的负载平衡服务器停机的完美方法。使用远程热插拔。
标签: nginx cluster-computing uwsgi