因为我想自动处理 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 调用它,它确实有效。wwwroot
wwwroot
现在我已经将default
配置和脚本都移入其中\home
,并且它们确实得到了正确应用 - 这让我认为我在部署的路径和该阶段可用的内容方面遇到了问题。
我不想在 GitHub 项目之外维护配置/脚本,因此:
- 我是否遗漏了某些东西并且只需要不同的路径/引用结构
- 有没有更简单/更好的方法来处理重定向(虽然我想我们稍后会需要一些其他的 nginx 配置调整)