使用nginx在多个端口上重定向Django站点请求
我有一个域名叫“mydjango.com”。当它被调用时,我想在同一IP上的多个端口上处理请求。122.34.55.1:8000 , 122.34.55.1:8001, 122.34.55.1:8002 这是负载平衡所需要的。我正在使用wsgi、dgango和ngix。 我的nginx配置文件/etc/nginx/sites available/djwsgi是-使用nginx在多个端口上重定向Django站点请求,django,nginx-config,django-wsgi,Django,Nginx Config,Django Wsgi,我有一个域名叫“mydjango.com”。当它被调用时,我想在同一IP上的多个端口上处理请求。122.34.55.1:8000 , 122.34.55.1:8001, 122.34.55.1:8002 这是负载平衡所需要的。我正在使用wsgi、dgango和ngix。 我的nginx配置文件/etc/nginx/sites available/djwsgi是- server { listen 80; listen 8001; liste
server {
listen 80;
listen 8001;
listen 8002;
listen 8003;
location = /favicon.ico { access_log off; log_not_found off; }
root /home/raka/djwsgi;
server_name mydjango.com;
location /static/ {
root /home/raka/djwsgi;
}
location / {
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/djwsgi.sock;
}
}
但默认情况下,mydjango.com仅映射为端口80。
当我提到像mydjango.com:8002这样的端口号时,会调用其他端口
我需要的是——当我调用mydjango.com时,nginx应该每次调用下一个端口。
比如,80,然后8001,然后8002803,然后808001。
请任何人提出任何想法
谢谢我不确定那是你想要的。告诉我
upstream mydjangoback {
server 127.0.0.1:8000;
server 127.0.0.1:8001;
server 127.0.0.1:8002;
}
server {
listen 80;
location = /favicon.ico { access_log off; log_not_found off; }
root /home/raka/djwsgi;
server_name mydjango.com;
location /static/ {
root /home/raka/djwsgi;
}
location / {
proxy_pass http://mydjangoback;
}
}
我找到了完整的解决方案。我把它贴在这里。 这就是nginx和wsgi用来平衡站点负载和避免在服务器上手动运行Django应用程序的方式
upstream backend {
server 127.0.1.1:8002;
server 127.0.1.1:8001;
server 127.0.1.1:8000;
}
server {
listen 80;
listen [::]:80;
location = /favicon.ico { access_log off; log_not_found off; }
root /home/raka/djwsgi;
server_name mysite.com;
location /static/ {
root /home/raka/djwsgi;
}
location / {
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/djwsgi.sock;
proxy_pass http://backend;
}
}
server {
listen 8000;
listen 8001;
listen 8002;
location = /favicon.ico { access_log off; log_not_found off; }
root /home/raka/djwsgi;
server_name mysite.com;
location /static/ {
root /home/raka/djwsgi;
}
location / {
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/djwsgi.sock;
}
}
在上述配置中可以设置许多键,以实现额外的好处。
就像在wsgi配置文件中一样,我们可以提到进程的数量。使用您建议的配置,我前进了一步,这很有帮助。现在我得到502坏网关错误。2020/01/28 11:43:34[错误]30813081:*1连接失败111:连接到上游时拒绝连接,客户端:127.0.0.1,服务器:myvosta.com,请求:GET/HTTP/1.1,上游:,主机:myvosta.comHi ErnestBidouille,实际上我想平衡django应用服务器上的负载。因此,我的计划是在多个端口上处理客户机请求。如果一个端口忙,当前请求将使用另一个端口。那么你能分享一下你的想法吗,关于这是否可行?