Chr*_*ris 5 django configuration load-balancing nginx gunicorn
我使用 nginx、Gunicorn 和 Ubuntu 14.04 设置了一个 Django 服务器。现在,我需要启用 nginx 作为负载均衡器。但是,我在网络上找不到与此相关的任何内容,并且我不清楚如何在 nginx 上启用负载平衡,而 gunicorn 作为我的上游块的一部分。
根据nginx 文档,负载平衡至少需要以下基本设置:
http {
upstream myapp1 {
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}
server {
listen 80;
location / {
proxy_pass http://myapp1;
}
}
}
Run Code Online (Sandbox Code Playgroud)
此设置清晰易懂。我的 gunicorn 配置如下所示,其中包含对 gunicorn.sock 文件的引用。
http {
upstream myapp1 {
server unix:/home/myapp/run/stage/gunicorn.sock fail_timeout=0;
}
server {
listen 80;
location / {
if (!-f $request_filename) {
proxy_pass http://myapp1;
break;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果您能帮助我解决以下问题,那就太好了:
以下上游块是否正确以在此设置中启用负载平衡?
或者:我是否必须引用其他服务器上的 .sock 文件而不是使用例如 srv2.example.com
我是否必须向所有服务器或仅向一台服务器添加类似的块?
upstream myapp1 {
server server unix:/home/myapp/run/stage/gunicorn.sock fail_timeout=0;
server srv2.example.com;
server srv3.example.com;
}
Run Code Online (Sandbox Code Playgroud)希望有人以前做过这个。
谢谢你,克里斯
| 归档时间: |
|
| 查看次数: |
4153 次 |
| 最近记录: |