You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure DevOps CI/CD部署Node.js项目并排查500错误

解决Node.js Azure App Service部署500错误的步骤

一、先修复代码致命错误

你提到的app.js里的两个错误是引发500的核心原因,必须优先修正:

  • 把pool.conect()改为pool.connect(),拼写错误会直接导致启动时抛出未捕获异常,终止应用进程。
  • 闭合testConnection函数的括号/大括号,未闭合的语法错误会让Node.js进程无法正常启动。

二、调整package.json启动脚本

Azure App Service默认用npm start启动应用,nodemon是开发环境工具,生产环境要换成稳定的node启动:

"scripts": {
  "start": "node app.js",
  "dev": "nodemon app.js"
}

三、优化Azure DevOps构建流水线配置

你的构建步骤存在冗余,且遗漏了依赖文件的打包:

  • 移除多余的复制文件任务:当前只复制.js和.json,没有包含node_modules目录,部署后会因缺少依赖导致启动失败。
  • 调整归档任务:将归档路径设置为**/*,确保把项目根目录下的所有文件(包括node_modules、package.json、app.js等)都打包成构建工件。

四、确认Azure App Service环境配置

  1. 登录Azure门户,进入你的Web应用,在配置 > 应用程序设置里,核对PostgreSQL的所有环境变量(地址、用户名、密码、端口等)和本地开发时的配置一致。
  2. 检查常规设置的启动命令:如果package.json的start脚本已正确设置,这里可以留空,Azure会自动读取npm start;也可以手动指定为npm start。

五、查看日志定位剩余问题

如果以上操作后仍报错,通过日志排查细节:

  • 进入Azure门户的Web应用日志流,实时查看应用启动和运行时的错误信息。
  • 或者通过高级工具 > Kudu,在D:\home\LogFiles\Application目录下查看nodejs.log,里面会记录Node.js进程的详细错误栈。

六、验证web.config配置(Windows主机)

如果使用Windows版App Service,确保根目录的web.config配置正确,让IIS能正确转发请求到Node.js:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="iisnode" path="app.js" verb="*" modules="iisnode"/>
    </handlers>
    <rewrite>
      <rules>
        <rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true">
          <match url="^app.js\/debug[\/]?" />
        </rule>
        <rule name="StaticContent">
          <action type="Rewrite" url="public{REQUEST_URI}"/>
        </rule>
        <rule name="DynamicContent">
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="True"/>
          </conditions>
          <action type="Rewrite" url="app.js"/>
        </rule>
      </rules>
    </rewrite>
    <iisnode node_env="production" />
  </system.webServer>
</configuration>

确保这个文件被包含在构建工件中,部署到App Service。


内容的提问来源于stack exchange,提问作者Rohan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 15:33:20