不能更改nginx 1.2.5默认网站

我刚刚在新服务器上安装了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打开一个页面,而不是文件/var/www/default/index.html nginx显示它的默认文件“Welcome to nginx”。 在出现404错误的情况下,它不显示文件/var/www/default/4044.html,但它是默认的“找不到”页面。

我试图改变:listen 80 default_server; 听80默认; 和server_name myserver; 到server_name servers_ip_address

重新启动nginx,但没有成功。 检查了error.log文件,但没有错。 我有nginx安装在另外2台服务器上,但nginx的老版本。 没有像这样的问题。

有任何想法吗? 如果我不能改变它,有没有人知道默认页面的位置,以便我可以编辑它们? 谢谢。

出于某种原因,新的Nginx的configuration文件不包含文件/ etc / nginx / sites-available / default。 那是我的问题。

这是旧的,但如果你不能找出答案,看看在nginx维基上没有反映的configuration更改 。

尝试清除浏览器caching并查看是否反映了更改。 只要我清除了我的浏览器caching,“Welcome to Nginx”页面就再也没有加载过了。

这是根据您的configuration正确的行为。 然后,您加载服务器的IP地址,您将始终获得该IP地址的第一个虚拟服务器定义,因为nginx无法从HTTP头中确定服务器名称。

如果您希望另一个服务器块进行响应,只需将其移动到该IP地址的第一个位置即可。

默认服务器的HTML文件位于/ var / www / default,由“root”指令(root / var / www / default;)定义

拥有IP的默认configuration实际上非常有用。 我用它来自动从非www.redirectwww. 地址到www.somedomain.com是这样的:

 server { listen 192.168.1.1 default; server_name "_"; root /usr/local/nginx/html/whaever; if ($host ~* ^[^.]+\.[^.]+$) { rewrite ^(.*)$ http://www.$host$1 permanent; } }