在 azure 上部署 React Web 应用程序的权限被拒绝
Posted
技术标签:
【中文标题】在 azure 上部署 React Web 应用程序的权限被拒绝【英文标题】:Permission denied on deploying react web app on azure 【发布时间】:2021-10-04 23:05:22 【问题描述】:我正在通过在 github 上创建工作流来在 azure 上部署 React Web 应用程序。 现在提交更改后,它在创建构建时显示错误:
当我使用surge.sh 部署它时发生了同样的错误 谁能帮帮我?
【问题讨论】:
【参考方案1】:这似乎是与您存储库中的 Node.js 模块有关的问题。因此,我建议您执行以下操作
第 1 部分:重新安装 Node 模块
-
yarn 卸载
纱线安装
第 2 部分:通过 GitHub Action 重新部署项目
第 3 部分:直接从 Azure 门户部署 React 应用
【讨论】:
【参考方案2】:添加到马克的回应中。请尝试以下步骤以进一步缩小问题范围:
-请检查存储库根目录中是否存在 .deployment 文件,如果存在,请提供此文件,如果存在,请提供 deploy._ 文件(deploy.cmd、deploy.sh、deploy.ps1)。
-只是为了隔离,直接从本地 Git 存储库测试部署到新的应用服务。
--如果.deployment 和deploy.sh 文件包含在应用程序代码的根目录中,Kudu 将使用旧版本运行deploy 中指定的命令。 sh 脚本。
——为了强调这一点,Kudu 是 Windows 和 Linux 上 Git 部署背后的引擎。默认情况下,应用服务使用 Oryx 构建/安装,Kudu 将确定使用的堆栈类型并创建通用 deploy.sh 脚本来安装包。
-App Service 在 Node.js 容器中设置环境变量 PORT
,并将传入请求转发到该端口号的容器。您的应用应使用 process.env.PORT
const port = process.env.PORT || 3000
1.添加启动脚本:添加PM2配置文件或你的脚本文件
2.转到 Azure 配置>常规设置
如果您的构建文件夹位于项目的根目录:
启动命令:pm2 serve /home/site/wwwroot --no-daemon --spa
某些网络框架在生产模式下运行时可能会使用自定义启动脚本。 有关详细信息,请参阅此文档Customize build automation。
【讨论】:
以上是关于在 azure 上部署 React Web 应用程序的权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Azure Web 角色上的 IIS 需要如此频繁地重新编译 ASP.NET 应用程序?
在 Azure Web 应用/Azure API 上部署时缺少 CORS 标头
如何在 azure 网站上的 react 应用程序中替换 %PUBLIC_URL%