如果您没有指向它的任何域名,请配置nginx server_name

时间:2013-04-12 09:22:57

标签: nginx webserver

我有一台ubuntu机器,它有一个绑定的IP地址,我有一个我想在我的虚拟主机中配置的站点。问题是,如果我没有任何指向它的域名,我应该在server_name中添加什么?基本上我想要这样,当我输入我的IP地址2xx.xxx.xxx.xxx然后它进入这个网站。这是我目前的配置

server {
        listen          80;
        server_name     dev.somesite.com;
        client_max_body_size 25M;
        access_log      /var/log/nginx/dev.somesite.com.access_log;
        error_log       /var/log/nginx/dev.somesite.com.error_log warn;
server_name_in_redirect off;
        root            /var/www/somesite-dev/web;
        location / {
                try_files $uri /app_dev.php?$args;
        }
        index           app_dev.php index.php index.html;
        fastcgi_index   index.php;

        location ~ \.php($|/) {
                 set  $script $uri;
                set  $path_info "";

                if ($uri ~ "^(.+\.php)(/.*)") {
                        set  $script     $1;
                        set  $path_info  $2;
                }
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_param PATH_INFO $fastcgi_path_info;
                fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
                include /etc/nginx/fastcgi_params;
                keepalive_timeout 0;
                fastcgi_param   SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                fastcgi_pass    127.0.0.1:9000;
        }
    }

2 个答案:

答案 0 :(得分:3)

Server_name用于基于名称的虚拟主机,如果您不需要,可以将其完全取消。它会听IP就好了。请记住,如果您有多个不使用基于名称的解析的服务器,这将导致问题,您将只能访问其中一个。哪一个取决于两件事:

  1. 如果您在其中一台服务器中“监听80默认”,则该服务器优先
  2. 如果您没有上述内容,则首先读取其配置的服务器将处理该请求

答案 1 :(得分:1)

您应该将server_name设置为例如development.local,然后在使development.local指向服务器的IP或localhost时,在/ etc / hosts文件中添加一行。