Nginx简单的请求分发跟负载均衡
1.安装不同域名来进行分发
//两个server同时监听80端口,按照请求的域名进行分发,实例配置如下: server { listen 80; server_name a.test.com; location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 80; server_name b.test.com; location / { proxy_pass http://localhost:8081; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
2.按照路径进行分发
//简单的按照路径分发,nginx支持正则匹配以及lua插件等分发规则
//如果 proxy_pass转发的连接以/号结尾 则/model_two/aaa 将被转发为http://localhost:8081/aaa 没有以/结尾则全路径转发http://localhost:8081/model_two/aaa server { listen 80; server_name _; location /model_one { proxy_pass http://localhost:8080; } location /model_two { proxy_pass http://localhost:8081; } }
3.简单的负载均衡
//简单的负载均衡,nginx支持ip_hash等分流,也支持插件自定义规则分流 upstream model{
server 127.0.0.1:8080
server 127.0.0.1:8081
server 127.0.0.1:8082
} server { listen 80; server_name localhost;
location / { proxy_pass model; proxy_redirect default; } }
注:上面都是一些简单的配置,实际使用时还需要配置一些其它的选项