我在 Ubuntu 12.04 上使用具有多个域名的 Nginx 1.8.0,现在我的所有网站都在线并且正常运行,但我想在每个域名的配置文件中更改端口和其他内容(在 /etc/nginx/sites-available/domane 内)。
奇怪的是:如果我停止 nginx:网站将处于离线状态,这很正常。如果我在某个配置文件中发现语法错误:nginx 会警告我并且不会重新启动,这也是正常的。
但我所做的所有更改似乎都没有应用,例如我可以将监听端口更改为 1234(或其他),重新加载/重新启动 nginx,网站仍然在线。我可以在 sites-enabled 中删除域名,重新加载/重新启动 nginx,网站仍然在线。
我使用 nginx 已经 5 年多了,这是我第一次遇到这种情况。nginx 配置中是否有我可能忽略的缓存或新内容?
答案1
我知道我迟到了,但是对于那些通过谷歌找到这个的人来说:请尝试从不同的浏览器启动该网址;)
解释:如果您在带有开关的配置中设置了虚假重定向规则permanent
,大多数浏览器都会记住并缓存此规则。例如,chrome 会将其缓存在某些内部文件中,而这些文件无法通过删除 cookie 和站点数据来清除 - 您必须真正清除过去 x 小时的完整浏览器历史记录和所有浏览数据。
答案2
您可以使用以下方式检查您的配置
sudo nginx -t -c /etc/nginx/nginx.conf
通常该文件包括
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
并且/etc/nginx/sites-enabled/*
是到的符号链接/etc/nginx/sites-available/*
,因此请编辑实际文件,并在重新加载之前检查配置。