首页 新闻 会员 周边 捐助

mac下使用nginx实现负载均衡但请求只发到一台服务器上

0
悬赏园豆:5 [待解决问题]

自己做的小练习,想实现node环境下nginx负载均衡,首先我使用pm2将项目复制为两个,端口号分别改为9998/9999,并启动成功。接下来使用nginx将nginx内部的nginx.conf 文件添加如下代码:
upstream mytest {
server 127.0.0.1:9998 weight=1;
server 127.0.0.1:9999 weight=1;
}
server {
......
location / {
root html;
index index.html index.htm;
proxy_pass http://mytest;
}
}
保存启动nginx,访问localhost:8081发现请求只发送到9998服务器上,请各位大神指点

SunAngel的主页 SunAngel | 初学一级 | 园豆:197
提问于:2019-02-17 15:12
< >
分享
所有回答(2)
0

试试去掉 weight=1

dudu | 园豆:29542 (高人七级) | 2019-02-17 15:30

我试了下,依然只发到9998端口上了

支持(0) 反对(0) SunAngel | 园豆:197 (初学一级) | 2019-02-17 15:35

@SunAngel: telnet 127.0.0.1 9999 能连上吗?

支持(0) 反对(0) dudu | 园豆:29542 (高人七级) | 2019-02-17 15:48

@dudu: 能

支持(0) 反对(0) SunAngel | 园豆:197 (初学一级) | 2019-02-17 15:49

@SunAngel: 把127.0.0.1:9998对应的服务停掉,看是否会转发到127.0.0.1:9999

支持(0) 反对(0) dudu | 园豆:29542 (高人七级) | 2019-02-17 15:59

@dudu: 转发了,这个结果说明了什么?请dudu老师指教

支持(0) 反对(0) SunAngel | 园豆:197 (初学一级) | 2019-02-17 16:09

@SunAngel: 可能是因为没有并发请求,你每次测试时是不是只发了一个请求?

支持(1) 反对(0) dudu | 园豆:29542 (高人七级) | 2019-02-17 17:07
0

localhost:8081去访问, 一个浏览器而已, 已经当你是一个用户, 分定你到9998了, 你用AB压力测试, 再看网站访问记录就行了, 不然都是当你一个访问者, 分配在一个服务器上。

风浪 | 园豆:2996 (老鸟四级) | 2019-02-17 22:20

应该我理解错了,明天我测试一下这种方式。但有个问题:在windows上同样做负载均衡,多次刷新浏览器页面,不会每次都只发一台服务器上,weight都等于1的话,发到两台服务器的次数差不多。这点上我不太理解。

支持(0) 反对(0) SunAngel | 园豆:197 (初学一级) | 2019-02-17 22:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册