在 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 应用程序?

React App 部署到 Azure 应用服务后失败

在 Azure Web 应用/Azure API 上部署时缺少 CORS 标头

如何在 azure 网站上的 react 应用程序中替换 %PUBLIC_URL%

访问我的 React Web 应用程序的 Azure SQL 数据库

我应该使用 Docker 将 Web API 项目(微服务)部署到 Azure Web App [关闭]