nginx web负载均衡配置

nginx web负载均衡配置

下载nginx

1
wget http://nginx.org/download/nginx-1.20.2.tar.gz

安装nginx

1
2
3
4
5
./configure --prefix=/opt/nginx
./configure --prefix=/opt/nginx --with-http_ssl_module
make
make install

报错

  • ./configure: error: the HTTP rewrite module requires the PCRE library
1
yum -y install pcre-devel
  • ./configure: error: the HTTP gzip module requires the zlib library.
1
yum -y install zlib-devel
  • ./configure: error: SSL modules require the OpenSSL library.
1
yum -y install openssl openssl-devel

nginx限制请求数据包大小

1
client_max_body_size 1000m;

负载均衡配置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
upstream test_group {
# If there is no specific strategy, round-robin
#     would be the default strategy.
# least_conn;
# ip_hash;
    server 172.16.217.109:8501 weight=1 max_fails=2 fail_timeout=30s;
    server 172.16.217.109:8502 weight=1 max_fails=2 fail_timeout=30s;
}

location / {
#root   html;
#index  index.html index.htm;
    client_max_body_size 3m;
    proxy_pass http://test_group;
}

nginx负载均衡策略

  • 轮询:将客户端发起的请求,平均分配给每一台服务器
  • 权重:将客户的的请求,根据服务器的权重值不同,分配不同的数量
  • ip_hash:基于发起请求的客户端的ip地址不同,他始终会将请求发送到指定的服务器上,客户端ip地址不变,就会一直发送到一个服务器上。

轮询

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
upstream my_server{
    server IP:8080;
    server IP:8081;
}
server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    location / {
        proxy_pass http://my_server/;   #Tomcat首页
    }
}

权重

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
upstream my_server{
    server IP:8080 weight=10;
    server IP:8081 weight=2;
}
server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    location / {
        proxy_pass http://my_server/;   #Tomcat首页
    }
}

ip_hash

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
upstream my_server{
    ip_hash;
    server IP:8080 weight=10;
    server IP:8081 weight=2;
}
server {
    listen       80;
    listen  [::]:80;
    server_name  localhost;

    location / {
        proxy_pass http://my_server/;
    }
}