我刚刚在新服务器上安装了 nginx 1.2.5 版,发现我无法更改默认网站的默认文件。
在 /etc/nginx/sites-available/default 文件中,我有以下几行:
server {
listen 80 default_server;
server_name myserver;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
root /var/www/default;
error_page 404 /4044.html;
location / {
index index.html index.htm;
}
}
server {
... server2...
}
server {
... server3...
}
不幸的是,当我使用服务器的 IP 地址打开页面时http://ip_address
,nginx 显示的是默认文件“Welcome to nginx”,而不是文件 /var/www/default/index.html。如果出现 404 错误,它不会显示文件 /var/www/default/4044.html,而是默认的“未找到”页面。
我试着改变:listen 80 default_server;默认收听80;和 server_name myserver;到 server_name servers_ip_address
重新启动nginx,但没有成功。检查了 error.log 文件,但没有错。我在另外 2 台服务器上安装了 nginx,但安装了旧版本的 nginx。没有这样的问题。
有任何想法吗?如果我不能更改它,有谁知道默认页面位于何处以便我可以编辑它们?谢谢。
由于某些原因,新 Nginx 的配置文件不包含文件 /etc/nginx/sites-available/default。那是我的问题。
这是旧的,但如果您无法找出答案,请查看nginx wiki 上未反映的配置更改。
尝试清除浏览器缓存并查看更改是否得到反映。一旦我清除浏览器缓存,“欢迎使用 Nginx”页面就再也不会加载了。
这是基于您的配置的正确行为。然后加载服务器的 IP 地址,您将始终获得该 IP 地址的第一个虚拟服务器定义,因为 nginx 无法从 HTTP 标头确定服务器名称。
如果您希望另一个服务器块响应,只需将其移动到该 IP 地址的第一个位置即可。
默认服务器的 HTML 文件位于 /var/www/default,这是由“root”指令定义的 (root /var/www/default;)
拥有 IP 的默认配置实际上非常有用。
www.
我用它来自动从非地址重定向到www.somedomain.com
这样的: