zl程序教程

您现在的位置是:首页 >  Java

当前栏目

nginx真实应用场景

2023-02-18 16:23:48 时间

nginx是一个高性能的http和反向代理web服务器,实际应用非常广泛。比如前端项目部署,后端接口代理,web项目跨域处理,请求负载均衡等等。

今天跟朋友们聊聊最近我们项目上一个实际使用nginx的场景,以供参考。

我们有三个项目,这三个项目其实都是一个项目框架,做好了前一个以后,后面基本是复制过来,然后改改。

这三个项目在生产环境都是单独部署的,所以项目启动端口号都是8080,启动项目不会有冲突。

但是测试环境我们只有一台服务器,小公司基于经济性的考虑。那么问题来了,在不修改端口的情况下三个项目同时启动肯定会冲突,导致另外两个项目启动不起来。那因为我们是物联网项目,硬件设备连接到服务器的地址是固定的,修改也不是很方便。所以之前的处理方式是需要测试哪个项目,就把其他项目关掉,只启动那一个项目。暂时可以解决问题,但是频繁启停总是费时费力。

最近实在是受不了了,我就改造了一下项目在测试环境的部署方式,使用nginx开放统一的8080端口,根据url前缀代理到不同的项目后端,完美的解决问题。

我把后端项目的启动端口分别改成了8081、8082、8083,然后在nginx里配置监听8080端口,并且不同的url前缀指向不同的后端服务器。

http://ip:8080/wms_gk指向8081的项目

http://ip:8080/wms_nw指向8082的项目

http://ip:8080/wms_wh指向8083的项目

以后硬件测试就不用再喊我启动项目了,因为我把项目全部启动起来了。