—— 阿尔伯特·爱因斯坦

程序员の奇妙冒险

NginxNginx
2025-04-09 11:51阅读:73评论:0

nginx使用upstream做负载均衡

打开nginx.conf,在http节点里添加: 在hosts中添加: 然后访问 http://dis/ 会轮询访问 127.0.0.1:8888和127.0.0.1:8080 hosts在Windows下所在位置 C:\Windows\System32\drivers\etc 为了不破坏 ngin

##### 打开nginx.conf,在http节点里添加:

1
2
3
4
5
6
7
8
9
10
11
12
upstream boot {
server 127.0.0.1:8888 weight=1; #weight是权重的意思,权重越大,分配的概率越大
server 127.0.0.1:8080 weight=1;
}
server {
listen 80;
server_name dis;
location / {
proxy_pass http://boot;
}
}
 
在hosts中添加:
1
2
127.0.0.1 dis
 
  • 然后访问 http://dis/ 会轮询访问 127.0.0.1:8888和127.0.0.1:8080
  • hosts在Windows下所在位置 C:\Windows\System32\drivers\etc

  • 为了不破坏 nginx.conf 可以新建一个 *.conf 文件
  • 这里我新建一个reverse-springboot.conf文件
  • reverse-springboot.conf配置如下,跟上面配置的一模一样
1
2
3
4
5
6
7
8
9
10
11
12
upstream boot {
server 127.0.0.1:8888 weight=1; #weight是权重的意思,权重越大,分配的概率越大
server 127.0.0.1:8080 weight=1;
}
server {
listen 80;
server_name dis;
location / {
proxy_pass http://boot;
}
}
 
然后在 nginx.conf 文件 http模块中将 reverse-springboot.conf 包含进去
1
2
3
4
5
6
http {
....
include D:/nginx/conf/reverse-springboot.conf;
...
}
 
重启Nginx也能达到同样效果
### _PROTECTED0_PROTECTED2_PROTECTED1__
1
2
3
使request.getLocalPort()
nginxrequest.getServerPort()nginxproxy_set_header Host $host:$server_port;
 
_PROTECTED0__
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
upstream boot {
server 127.0.0.1:8888 weight=1;
server 127.0.0.1:8080 weight=1;
}
server {
listen 8066;
server_name dis;
location / {
proxy_pass http://boot;
proxy_set_header Host $host:$server_port;
# 获取真实IP
proxy_set_header X-Real-IP $remote_addr;
# 获取代理者的真实ip
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
 

### ###

评论(0)
暂无评论来抢沙发吧~