我使用的是 14.04,Nginx 已经好几周没有访问了,突然默认的 index.html 取代了我们原来的 index.html。我们检查了日志,除了我们刚才将它改回来之外,没有人访问过 Nginx。据我们所知,没有进行任何更新。
另一个问题也提出了同样的问题(Nginx index.html 被默认 index.html 文件覆盖),并建议我针对同一问题提出一个新问题。
我能找到的唯一“答案”来自 https://www.digitalocean.com/community/questions/my-index-html-file-in-nginx-automatically-gets-overwritten-with-the-nginx-defaul-index-html-file-for-no-reason建议将 html 文件的位置从 /usr/share/nginx 更改为其他位置(我喜欢 /var/www/nginx),然后在 nginx/sites-enabled/conf 文件中进行修改。
我们在服务器上做了这个修改,但我们只能等待它再次发生才能知道这是否是解决方案。如果有人能帮忙解决这个问题,我们将不胜感激。
答案1
14.04 没有在包中“修复”这个问题的逻辑——也就是说,这个包实际上是较旧比 14.04 更早。此逻辑是在 Debian 14.04 之后引入的,目的是不破坏索引文件。对安装后语句的大量更改会造成破坏;这就是为什么没有将该逻辑作为反向移植或更新添加到 14.04 软件包中的原因。
关于更改文档根目录,如果您将文档根目录更改为,/var/www/something
则打包不会破坏它。/var/www/
14.04 中的软件包不会发生接触。 它们/usr/share/nginx/...
确实会接触,这就是为什么这是 NGINX 文档的一个缺陷使用默认值。
如果您使用 docroot,那就没问题了/var/www/...
。