Nginx多台服务器实现负载均衡

Nginx多台服务器实现负载均衡,第1张

Nginx负载均衡服务器: IP:192.168.0.4(Nginx-Server)

Web服务器列表:

Web1: 192.168.0.5(Nginx-Node1/Nginx-Web1)

Web2:192.168.0.7(Nginx-Node2/Nginx-Web2)

实现目的:用户访问Nginx-Server时,通过Nginx负载均衡到Web1和Web2服务器。

配置注释如下:

创建文件夹准备存放配置文件

启动负载均衡服务器192.168.0.4(Nginx-Server)

创建文件夹用于存放web页面

编辑内容如下:

启动192.168.0.5(Nginx-Node1/Nginx-Web1)

创建文件夹用于存放web页面

编辑内容如下:

启动192.168.0.7(Nginx-Node2/Nginx-Web2)

对于Web而已,80端口和443端口是十分重要的,原则上需要输入 http://domain.com:80 才可以浏览网页的,但由于默认端口是80,所以‘:80’可以忽略。同理对于https的443端口也一样。

随着服务器性能的提升和业务的需求,一台服务器上往往会同时有多个服务,这些服务都希望监听80端口,比如有vue.msg.com和react.msg.com。这时候我们可以使用nginx的代理转发功能帮我们实现共用80端口的需求。

首先我们先在两个空闲的端口上分别部署项目(非80,假设是8080和8081), nginx.conf 配置如下:

上面就是常规的配置,紧接着如果已经做好域名解析,希望vue.msg.com打开vue项目,react.msg.com打开react项目。我们需要再做两个代理,如下:

nginx如果检测到vue.msg.com的请求,将原样转发请求到本机的8080端口,如果检测到的是react.msg.com请求,也会将请求转发到8081端口。

这样nginx对外就有四个服务,我们只需要公布80端口的就可以了,这样就实现了多个服务共用80端口。

若一台机器上面部署多个web服务,那访问不同服务携带不同端口是很不方便的,可以通过proxy_pass来实现转发。

譬如:localhost/buffer执行buffer服务(监听8089端口),localhost/configure执行configure服务(监听8088端口)。

main.conf文件如下:

configure.conf文件配置如下:(vue+php搭建的web服务)

请求:http//localhost/configure/a/b

若是绝对路径的配置,则请求转化成了 http://localhost:8088/a/b

若是相对路径的配置,则请求转化成了 http://localhost:8088/configure/a/b


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/248864.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存