Linux使用nginx做反向代理和负载均衡

1.安装

Nginx在linux的安装和启动_浮休383的博客-CSDN博客

2.反向代理

        server {
             listen       8443;#监听端口
             server_name  localhost;
             location / {
                 proxy_pass  localhost:8080; #代理到当前服务器的8080端口
             }
             location /demo1 {
                 proxy_pass  http://IP地址:端口号;#代理到指定服务器的指定端口
             }
        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

修改完配置文件后重启一下nginx

可通过访问当前服务器访问代理的服务器

3.负载均衡

        (1)轮询

                每来一个请求依次分配

        upstream load{
             server IP1:端口;
             server IP2:端口;#eg:192.168.3.3:8080
        }
        server {
             listen       8443;
             server_name  localhost;
              
        #charset koi8-r;
        #
        #        #access_log  logs/host.access.log  main;
        #
             location / {
                 proxy_pass  http://load; 
             }
        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        (2)权重

                根据权重按比例分配

        upstream load{
             #ip_hash;
             server IP1:端口 weight=7;
             server IP2:端口 weight=1;#eg192.168.3.3
             #给IP1分配7个给IP2分配1个
        }        
        server {
             listen       8443;
             server_name  localhost;
              
        #charset koi8-r;
        #
        #        #access_log  logs/host.access.log  main;
        #
             location / {
                 proxy_pass  http://load; 
             }
        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        (3)IP

                按用户分配,每个用户访问的服务器都是固定的

                

        upstream load{
             ip_hash;#按用户分
             server IP:8080;
             server IP:8080;
        }      
        server {
             listen       8443;
             server_name  localhost;
              
        #charset koi8-r;
        #
        #        #access_log  logs/host.access.log  main;
        #
             location / {
                 proxy_pass  http://load; 
             }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

修改完配置文件后重启一下nginx

你可能感兴趣的:(linux,nginx,负载均衡)