【发布时间】:2016-11-08 07:07:56
【问题描述】:
我读过一篇关于配置 nginx 到反向代理的教程
在配置文件中,我们使用sock
server {
listen 80;
server_name server_domain_or_IP;
location / {
include uwsgi_params;
uwsgi_pass unix:/home/user/myproject/myproject.sock;
}
}
现在,我正在阅读其他教程以使用 nginx 进行负载平衡
https://www.digitalocean.com/community/tutorials/how-to-set-up-nginx-load-balancing https://www.upcloud.com/support/how-to-set-up-load-balancing/
然而,奇怪的是,我们不再需要配置文件中的套接字位置。
upstream backend {
server backend1.example.com;
server backend2.example.com;
server backend3.example.com;
}
server {
location / {
proxy_pass http://backend;
}
}
是正常的还是uwsgi有特殊性?
我需要在配置文件中添加套接字的位置还是不需要它们?如果是这样,如何? 在服务器上,我需要创建一个套接字吗?如果配置文件中没有指定socket的位置,那将如何使用呢?
编辑:我也读过这样定义套接字的教程
socket = :5000
并且配置文件中没有提到socket。
负载均衡的时候是这样的吗?
【问题讨论】:
-
这有什么更新吗?我也有同样的问题
-
@florin 我偶然发现了同样的问题,这个答案很好地解决了这个问题(尽管对于 Kubernetes):stackoverflow.com/a/44533608/1039281
-
您可以将套接字定义为服务器,例如
server unix:/home/user/myproject/myproject.sock;而不是 ip 或域,我还看到http://backend中不需要前缀http://。我还没有让它工作,所以你可能会遇到问题。
标签: sockets nginx load-balancing reverse-proxy uwsgi