Azure App Service部署重启后server.js修改未生效问题求助
解决Azure App Service中Node.js server.js修改重启不生效的问题
1. 验证server.js的部署位置与启动配置
- 登录Azure门户,进入应用服务的高级工具(Kudu),打开控制台查看
site/wwwroot目录下的server.js内容,确认是否是最新修改版本。如果你的server.js在dist文件夹下,要检查site/wwwroot/dist/server.js是否正确上传。 - 确认
package.json中的start脚本是否指向正确的文件路径,比如如果server.js在dist目录,脚本应为"start": "node dist/server.js"。Azure会优先读取这个脚本启动应用,路径错误会导致加载旧文件或启动失败。
2. 清除Azure缓存并执行冷重启
- 进入Kudu控制台,执行命令清除npm缓存:
npm cache clean --force - 不要使用普通重启,而是先停止应用服务,等待10秒后再启动(冷重启),彻底释放进程资源,避免缓存的旧server.js被复用。
3. 排查文件上传与本地构建问题
- 本地执行
gulp build后,检查dist/server.js是否包含最新修改内容,排除构建脚本未更新文件的问题。 - 用FileZilla上传时,勾选“覆盖现有文件”选项,或者在Kudu控制台直接编辑server.js(点击文件右侧的编辑按钮),修改后重启应用,验证是否生效——如果生效,说明是FileZilla上传过程中未正确覆盖文件。
4. 查看应用日志定位启动异常
- 在Azure门户打开日志流,或在Kudu的日志页面查看启动日志与应用日志:
- 如果server.js启动报错(比如模块缺失、语法错误),Azure会自动 fallback 到之前正常运行的进程,导致修改不生效。
- 也可以在Kudu控制台手动执行启动命令(比如
node server.js),直接查看终端输出的错误信息,快速定位问题。
5. 检查部署插槽配置(若使用)
- 如果启用了部署插槽,确认你是在生产插槽上传修改,而非 staging 插槽;若设置了自动交换,检查交换是否成功完成,避免流量仍指向旧插槽。
内容的提问来源于stack exchange,提问作者Dhanshri Tekale
相关产品推荐
相关产品推荐

