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

手动部署PayloadCMS至Azure Linux Web App(FTPS)遇dotenv缺失错误

问题分析与解决步骤

你遗漏了安装项目生产依赖的核心步骤,同时部署PayloadCMS到Azure Linux Web App还有几个关键环节需要完善,具体如下:

1. 安装生产环境依赖

你的dist/server.js依赖dotenv等第三方包,但你只上传了build和dist文件夹,服务器上没有这些依赖包,导致启动报错。解决方法:

  • 通过Azure门户开启Web App的SSH连接(路径:开发工具 > SSH > 进入),进入/home/site/wwwroot目录
  • 执行命令安装生产依赖:
    npm install --production
    
  • 依赖安装完成后,再执行node dist/server.js启动应用

2. 配置环境变量(替代本地.env文件)

Azure Linux Web App不推荐直接上传.env文件,建议通过平台内置的应用设置管理敏感信息:

  • 登录Azure门户,进入你的Web App,打开配置 > 应用设置
  • 添加PayloadCMS所需的环境变量,比如PAYLOAD_SECRET、数据库连接字符串DATABASE_URI等
  • 保存设置后,Web App会自动重启,应用可通过process.env.XXX读取这些变量,无需依赖本地.env文件

3. 设置自动启动命令

手动启动应用只是临时测试,配置Azure的启动命令可实现应用自动启动:

  • 在配置 > 常规设置的"启动命令"栏,填入node dist/server.js
  • 保存后,Web App会自动以该命令启动应用,重启或部署后也会自动运行

4. 对齐Node.js版本

确保本地开发使用的Node.js版本与Azure Web App上的版本一致,避免兼容性问题:

  • 本地执行node -v查看版本
  • 在Azure门户配置 > 常规设置的"Node.js版本"选项中,选择匹配的版本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 08:32:11