Nginx多套环境配置及常见路由策略

一、配置nginx

1、进入 nginx\conf 目录下,用文本编辑器打开 nginx.conf,对配置文件进行如下修改:

(1) 在 http 中增加 upstream,并配置两台环境的地址;

#有几套环境,就配置几条
 upstream pcservice{
        server 10.101.137.244:8224 ;            #节点1 
        server 10.101.137.245:8081;             #节点2 
}	
http {
    #增加 upstream 的配置,其中 myserver 是自己起的名字
    upstream myserver{
	     server www.jintianxuesha.com 127.0.0.1:8088;  #有几套环境,就配置几条
	     server  www.yuanyyleezc.cn   127.0.0.1:8089;
    }
}

示例:
 

#user  ;
worker_processes  2;

error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
pid         logs/nginx.pid;
events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  logs/access.log  main;
    
    proxy_set_header            X-Real-IP $remote_addr;
    proxy_set_header   x-forwarded-for $proxy_add_x_forwarded_for;
    
    sendfile        on;
    keepalive_timeout  65;
    client_max_body_size 8M;
    client_body_buffer_size 128k;
    client_header_buffer_size 128k;
    #add_header X-Frame-Options DENY;
    server_tokens off;
	
#后端负载均衡配置

#两套服务,pcservice可以自己命名
upstream pcservice{
        server 10.101.137.244:8224 ;  #节点1  ip和端口
        server 10.101.137.245:8224 ;  #节点2  ip和端口
    }	

#pc-web应用环境配置
        server {
        listen       6005; #访问端口配置
        server_name  localhost;
	    add_header X-Frame-Options SAMEORIGIN;
	    add_header Strict-Transport-Security max-age=63072000;
	    add_header Content-Security-Policy "default-src 'self' at.alicdn.com data:; 
        style-src 'self' 'unsafe-inline'; worker-src blob:; media-src blob:";
	    add_header Referrer-Policy strict-origin-when-cross-origin;
        location / {
		    add_header Strict-Transport-Security max-age=63072000;
		    add_header Content-Security-Policy "default-src 'self' at.alicdn.com data:;         
            style-src 'self' 'unsafe-inline'; worker-src blob:; media-src blob:";
		    add_header Referrer-Policy strict-origin-when-cross-origin;
	        add_header Cache-Control 'no-cache, must-revalidate, proxy-revalidate, max-age=0';
            add_header X-Frame-Options SAMEORIGIN;
	        root   /home/test/pc-web/pc; #前端代码路径
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        
        }
		
        #后端服务配置
        location /pc-service {
            proxy_pass  http://pcservice/pc-service; 
        }
        
        #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;
        }
	    location ^~/vms/ {
            proxy_pass  http://10.109.55.33:83/;
        }


    }
}

二、Nginx常见的路由策略

1. 轮询法
最简单的轮询法,多余的配置不需要增加。

upstream myserver{
   server 127.0.0.1:8088;  # 有几套环境,就配置几条
   server 127.0.0.1:8089;
}

2. 源地址哈希法
使用 ip_hash 关键字,每一个请求,都按 hash(IP) 的结果决定访问哪台服务器;

upstream myserver{
   ip_hash; # hash(IP)
   server 127.0.0.1:8088;  # 有几套环境,就配置几条
   server 127.0.0.1:8089;
}

如果我们本地测试,多次访问接口,可以发现请求永远落到同一个服务上,因为本地 IP 一直没有改变。

3. 加权轮询法
使用 weight 关键字,设置每台服务器的权重;

upstream myserver{
   server 127.0.0.1:8088 weight=1;  # 20% 请求会发给8088
   server 127.0.0.1:8089 weight=4;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wd520521

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值