1

我有一个 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;
        }
    }
4

2 回答 2

3

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

  1. 如果您在其中一台服务器中设置了“默认监听 80”,则该服务器将优先
  2. 如果没有上述条件,首先读取配置的服务器将处理请求
于 2013-04-12T09:27:03.880 回答
1

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

于 2013-04-12T09:26:47.200 回答