负载均衡部署nuxt项目问题排查步骤

@liubb  July 13, 2020

目的:通过多台机子来做负载均衡,部署公司的nuxt前端项目。

1.先是以nginx做代理,配置root路径为nuxt项目的dist文件夹。这种方式在请求的时候,会莫名其妙多出一个301请求,并且301请求的host为负载均衡机器的ip。会出现类似 http://172.17.0.1/xxx 的请求,失败。

2.改成以在服务器上npm run start的方式启动nuxt,监听3000端口,不会出现301请求了。但是静态文件会时不时出现404。和前端商量后,是因为每台机子npm启动的时候会生成不一样的随机的静态文件名字。导致在多台机子在负载均衡的时候出现404。

3.改成本地编译生成.nuxt文件夹之后,上传服务器启动。因为是通过jenkins版本部署的,过程是将代码在部署jenkins的机器上打包并发送到对应的机子上,打包的过程中发现.nuxt文件夹一直无法被打包。查阅资料发现,隐藏文件夹在tar命令之下,默认是不打包的,修改打包语句为

tar zcvf ${PRONAME}-${Tag}.tar.gz --exclude=${PRONAME}/.git ${PRONAME}/[!.]* ${PRONAME}/*"

4.正式服务器上通过pm2 管理nuxt项目。启动成功。

5.但仍有问题,部署过程中,需要在远程机器安装依赖,这个过程需要数秒钟。在A机器项目重启时,B机器暂未重启,因为安装依赖的时间关系,在数秒内,会导致访问域名时,网站出现问题。


添加新评论