繁体   English   中英

修改nginx.conf为Azure App Linux服务

[英]Modifying nginx.conf for Azure App Linux Service

我在 Linux 容器上运行的 Azure 应用服务中部署一个 ReactJS 应用程序。 ReactJS 应用程序有路由器。 由于 ReactJS 路由,内部页面刷新失败。 根据React-router 和 nginx ,我可以通过在 nginx.conf 中添加以下块来解决这个问题

location / {
  try_files $uri /index.html;
}

现在我的问题是如何修改 Azure App Linux 容器内的 nginx.conf? 我试图复制到/home/site。 那没起效。 它总是从 /etc/nginx 中获取 nginx.conf。 如果我将 /etc/nginx/nginx.conf 替换为我自己的版本,它将在下次重启时被覆盖。

无论如何我可以使用我自己的 nginx.conf 吗? 还是我应该创建一个自定义容器来解决它?

您实际上可以通过应用服务的启动命令修改您的 nginx 配置。

  • SSH 进入您的应用服务。

  • 将默认的 nginx 配置文件复制到您的主目录:

     cp /etc/nginx/sites-available/default /home/site/nginx.conf
  • 修改复制过来的 nginx 配置文件/home/site/nginx.conf并包含您的自定义配置。

     vi /home/site/nginx.conf
  • 创建一个 bash 文件/home/site/startup.sh ,内容如下:

     cp /home/site/nginx.conf /etc/nginx/sites-available/default service nginx reload
  • 将您的应用服务启动命令设置为/home/site/startup.sh

在启动期间,您的应用服务将覆盖默认的 nginx 配置并重新加载 nginx 服务。 它不是最易于维护的解决方案,但它确实有效。

您不能修改 nginx.conf。 由于您位于 Microsoft docker 容器中,因此您将无法更改它。

/home 目录之外的任何文件或目录都不会在站点回收之间保留。 这可能会以几种不同的方式影响您。 您无权更改它,因为它被锁定在 Azure 沙箱下。

https://docs.microsoft.com/en-us/archive/blogs/waws/things-you-should-know-web-apps-and-linux#CIFS

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM