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

Azure Linux预览版Node.js持续WebJob启动失败:找不到node.exe

Linux版Azure App Service Node.js持续WebJob启动报错"找不到node.exe"的解决思路

问题根源

Linux环境下不存在node.exe可执行文件,只有node命令。你的WebJob启动逻辑可能仍沿用Windows平台的配置,导致系统尝试寻找不存在的node.exe。

具体解决步骤

  • 修正脚本中的Node调用
    不要在script.sh里写node.exe,直接用node命令,或者通过环境变量$NODE_EXE调用(Linux App Service会自动设置这个变量指向当前配置的Node版本路径)。示例脚本:

    #!/bin/bash
    # 切换到WebJob目录
    cd /home/site/wwwroot/app_data/jobs/continuous/YourWebJobDir
    # 启动Node脚本
    $NODE_EXE your-entry-file.js
    

    也可以在SSH终端执行which node获取Node的绝对路径,直接写入脚本,比如/usr/local/bin/node your-entry-file.js。

  • 检查settings.job配置
    确保settings.job里的启动命令指向你的script.sh,而非直接调用node.exe。示例配置:

    {
      "is_continuous": true,
      "command": "/bin/bash /home/site/wwwroot/app_data/jobs/continuous/YourWebJobDir/script.sh"
    }
    
  • 确保脚本拥有可执行权限
    部署后通过SSH进入WebJob目录,执行chmod +x script.sh赋予脚本执行权限。如果用Zip部署,提前在本地给文件设置好可执行权限(Linux/macOS下用chmod +x,Windows下可通过Git Bash执行该命令)。

  • 验证环境变量加载
    在SSH终端执行echo $NODE_EXE和node -v,确认Node 20环境正常加载。如果WebJob运行时未继承环境变量,可在script.sh开头添加:

    source /home/site/wwwroot/oryx_env.sh
    

    该脚本由Oryx部署工具生成,会加载App Service配置的Node环境。

额外排查点

  • 查看WebJob的启动日志(在App Service门户的「WebJobs」面板中点击对应WebJob的日志),确认实际执行的命令是否符合预期,是否存在路径错误。
  • 确认WebJob的目录结构正确:必须放在site/wwwroot/app_data/jobs/continuous/[你的WebJob名称]目录下,所有相关文件都要在这个子目录内。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 00:26:05