背景
当系统升级时,后台node、java服务都会经历关闭服务 => 升级 => 启动服务的过程。但是很多时候我们是希望在前端页面看到升级的过程,具体的升级细节。但因为node和java服务会停止,此时如果调用node或者java接口是走不通的。我们该如何去做呢?
思路
直接使用nginx读取后台文件,升级脚本可以把细节写在这个文件里面。
实现
在nginx直接配置一个的路由,当匹配到前端请求SoftwareUpgrade.log的接口时,直接读取并返回/存放路径/upgrade.log文件内容,前端拿到展示即可。
location ~ /SoftwareUpgrade\.log$ {
root /存放路径;
default_type text/html;
try_files /upgrade.log =404;
}
升级内容需要升级脚本来生成 >> 补充到文件即可
需要注意的是
升级展示细节经常会展示出来具体的文件以及内部路径,可能会有安全风险,要注意具体展示哪些内容。