Nginx 反向代理 + 负载均衡

转自:https://blog.csdn.net/andybegin/article/details/78327231

安装nginx

> sudo apt-get update
> sudo apt-get install nginx
  • 1
  • 2

配置

安装完成后,配置文件默认路径:

/etc/nginx

我们在/etc/nginx/nginx.conf中的http模块可以看到:

##
# Virtual Host Configs
##

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

所以我们可以在conf.d文件夹下面创建反向代理文件:

> sudo touch proxy_172.conf
> sudo vim proxy_172.conf
  • 1
  • 2

写入如下配置:

server
{          
    listen 8081;
    server_name localhost;
    location / {
        proxy_redirect off;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://192.168.71.172:80;
    }

    access_log /var/log/nginx/proxy_172.log;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

重启服务器:

> sudo service nginx restart
  • 1

现在你访问反向代理服务器的8081端口,就会指向192.168.71.172服务器的80端口。

http://192.168.71.174:8081/ -> http://192.168.71.172:80/
  • 1

负载均衡

如果你的web服务器有多个(192.168.71.172:80和192.168.71.173:80),则可以使用负载均衡给服务器减少压力。

> cd /etc/nginx/conf.d
> sudo touch proxy_172_173.conf
> sudo vim proxy_172_173.conf
  • 1
  • 2
  • 3

写入如下配置:

upstream web_server {
    server 192.168.71.172:80;
    server 192.168.71.173:80;
}

server
{          
    listen 8082;
    server_name localhost;
    location / {
        proxy_redirect off;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://web_server;
    }

    access_log /var/log/nginx/proxy_172_173.log;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

现在访问负载均衡服务器的8082端口会随机跳转到2个web服务器上:

http://192.168.71.174:8082/ -> 192.168.71.172:80
http://192.168.71.174:8082/ -> 192.168.71.173:80

猜你喜欢

转载自blog.csdn.net/runner668/article/details/80344324