Nginx服务器默认不适用

我在debian服务器上安装了nginx。 我有三台服务器(虚拟主机):

  • 默认(/ etc / nginx / sites-enabled / 0-default)
  • mydomain.com(/ etc / nginx / sites-enabled / 1-mydomain)
  • booking.mydomain.com(/ etc / nginx / sites-enabled / 2-booking)

当我用自己的域名访问服务器时,我得到了正确的网站。 但是,当我用IP地址访问服务器时,它是返回的预订网站。

这个预订网站是在Symfony,这里是网站启用/ 2预订文件的内容:

server { server_name booking.mydomain.com; root /var/www/booking/web; location / { # try to serve file directly, fallback to app.php try_files $uri /app.php$is_args$args; limit_req zone=one burst=20; } location ~ ^/(app|app_dev|config)\.php(/|$) { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS off; } error_log /var/log/nginx/booking_error.log; access_log /var/log/nginx/booking_access.log; 

}

我希望我的服务器从IP地址访问时返回/var/www/index.php文件,你有什么想法吗?

要显式设置默认服务器,可以在/etc/nginx/sites-enabled/0-default添加default_serverlisten指令。 所以这个参数变成了。

 listen *:80 default_server; 

Snippet来自nginx如何处理请求

在这个configuration中,nginx只testing请求的头部字段“主机”,以确定请求应该被路由到哪个服务器。 如果它的值不匹配任何服务器名称,或者请求根本不包含这个头域,那么nginx会将请求路由到这个端口的默认服务器。 在上面的configuration中,默认服务器是第一个 – 这是nginx的标准默认行为。 它也可以明确地设置哪个服务器应该是默认的,在listen指令中使用default_server参数