jfinal-undertow 线上无缝切换服务。

服务器环境:

nginx+mysql+redis+jfinal-undertow

线上运行时,先启动mysql,redis,jfinal-undertow,nginx。

nginx默认监听 80/443 端口。

jfinal-undertow 启动 8081 端口。

nginx配置代理转发也是 8081 端口。

此时在启动一个 jfinal-undertow 8082 的端口。

在nginx中直接修改代理端口,然后 reload nginx。此时服务无缝切换至 8082 端口。 确定没问题,可以停掉原 8081 端口。

示例:

image.png

image.png

可以添加多个服务。也可以只保留一个服务。用户不会感觉到任何变化。

评论区

zhangshiqiang

2018-12-15 15:20

切记 undertow-pro.txt、stop.sh、start.sh、start.bat 对应端口类名修改好,确保打包没问题。

chazz

2018-12-15 15:29

学习。

JFinal

2018-12-15 15:57

系统 7 X 24 不停服升级的简单方案,十分方便,点赞加收藏

shenyao

2018-12-17 17:38

session切换怎么做?没考虑?

zhangshiqiang

2018-12-17 17:40

@shenyao session可以考虑持久化到redis,或者数据库存储。 基于三方,不基于服务器内部。 要不然重启就丢失了。

encoredw

2018-12-19 19:47

@zhangshiqiang 你好,我想问下, undertow 运行后,怎么查看运行日志

热门分享

扫码入社