nodejs写的接口部署后不能及时生效

后端使用 nodejs,nginx 使用 jenkins发布。

每次新的的node接口部署后,有时调通有时调不通,调不通时报504 Gateway Time-out错误,但一般部署后几个小时后就好了。有没有大神知道可能是什么原因?

阅读 3.3k
3 个回答

你提供的信息太少了,不能判断出问题所在,猜测几个可能的原因吧。
1 你的node项目是否包含一些数据初始化,或者数据预热的动作,而刚好在这期间是不能服务的
2 你的nginx是不是做了upstream的healthcheck ,而且设置了较长的检测时间
3 是不是有多台服务器,部分服务器没有发布或者启动成功。

最好提供下访问出错的nginx error log

  1. 504一般是后端服务器响应超时,这个时候后端服务器是运行着的,去看看是不是有慢接口
  2. 如果是502,那就是后端服务没运行

百分之一百是 Jenkins 的问题,Jenkins 是开发阶段用于持续集成的,有时候保存了太多的历史构建,会导致 Jenkins 速度变慢。正式部署不要使用 Jenkins,用 pm2 就好了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题