如何使用uwsgi-socket与Nginx进行负载平衡

问题描述

我正在使用套接文件通过Nginx访问我的应用程序。 我的应用程序由监听8080、8081、8082的三个服务器组成。 / etc / Nginx / sites-available / config-file下的服务器配置如下

server {
    listen 8080 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    index index.html index.htm index.Nginx-debian.html;
    server_name my-server-one;
    location / {
            include uwsgi_params;
            uwsgi_pass unix:/tmp/server_one.sock;
    }


server {
    listen 8081 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    index index.html index.htm index.Nginx-debian.html;
    server_name my-server-two;
    location / {
            include uwsgi_params;
            uwsgi_pass unix:/tmp/server_two.sock;
    }

server {
    listen 8082 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    index index.html index.htm index.Nginx-debian.html;
    server_name my-server-two;
    location / {
            include uwsgi_params;
            uwsgi_pass unix:/tmp/server_three.sock;
    }

我的问题是如何在上游应用负载平衡? 像下面的上游容器一样

upstream myserver {
    server localhost:8080;
    server localhost:8081;
    server localhost:8082;
}

解决方法

谢谢,我终于找到了解决方案,想分享

为设置nginx负载均衡器,我在上游添加了.sock文件,并将上游传递给uwsgi_pass

nginx load balancer with socket

upstream myserver {
   server unix:///tmp/server_one.sock;
   server unix:///tmp/server_two.sock;
   server unix:///tmp/server_three.sock;
}

/etc.nginx/sites-available/nginx-config文件在下面

server {
   listen 8080 default_server;
   listen [::]:80 default_server;
   root /var/www/html;
   index index.html index.htm index.nginx-debian.html;
   server_name my-server-one;
   location / {
        include uwsgi_params;
        uwsgi_pass myserver;
}

server {
   listen 8081 default_server;
   listen [::]:80 default_server;
   root /var/www/html;
   index index.html index.htm index.nginx-debian.html;
   server_name my-server-two;
   location / {
        include uwsgi_params;
        uwsgi_pass myserver;
}

server {
   listen 8082 default_server;
   listen [::]:80 default_server;
   root /var/www/html;
   index index.html index.htm index.nginx-debian.html;
   server_name my-server-two;
   location / {
        include uwsgi_params;
        uwsgi_pass myserver;
}