容器重启时替换 nginx 配置

容器重启时替换 nginx 配置

因为我想自动处理 https://site/page 到 https://site/page.php 的重定向,所以我有一个更新的 ngnix 配置,其中包括

location / {            
    try_files $uri $uri/ $uri.php?$query_string;
}

由于 Azure Web 应用程序容器不是持久的,我需要/etc/nginx/sites-available/default在启动时覆盖(并按照从 GitHub 的部署)。

如果我restart.sh在我的站点项目文件夹的根目录中包含如下脚本:

#!/bin/bash

echo "Replacing nginx configuration"
cp /home/site/repository/default /etc/nginx/sites-available/default
echo "Reloading nginx"
service nginx reload

并将其引用为门户中 Web 应用程序的启动命令,因为/home/site/repository/restart.sh它似乎不会在启动时运行。如果我在脚本中更改repository对它的引用以及调用它的路径,问题仍然相同。如果我在部署后从 SSH 调用它,它确实有效。wwwrootwwwroot

现在我已经将default配置和脚本都移入其中\home,并且它们确实得到了正确应用 - 这让我认为我在部署的路径和该阶段可用的内容方面遇到了问题。

我不想在 GitHub 项目之外维护配置/脚本,因此:

  1. 我是否遗漏了某些东西并且只需要不同的路径/引用结构
  2. 有没有更简单/更好的方法来处理重定向(虽然我想我们稍后会需要一些其他的 nginx 配置调整)

相关内容