在相同的IP Nginx的不同域(Nginx Different Domains on Same I

2019-06-17 15:16发布

我想使用nginx的举办2个不同的域在同一台服务器。 我重定向两个域通过@财产该主机。 虽然我设置2个不同的服务器块,每当我试图进入第二个域,它重定向到第一个。

这里是我的配置。

server {
    listen      www.domain1.com:80;
    access_log  /var/log/nginx/host.domain1.access.log  main;
    root /var/www/domain1;
    server_name www.domain1.com;

    location ~ \.php$ {
        # Security: must set cgi.fixpathinfo to 0 in php.ini!
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME         $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        include /etc/nginx/fastcgi_params;
    }
}

server {
    listen       www.domain2.com:80;
    access_log  /var/log/nginx/host.domain2.access.log  main;
    root /var/www/domain2;
    server_name www.domain2.com;

    location ~ \.php$ {
        # Security: must set cgi.fixpathinfo to 0 in php.ini!
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME         $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        include /etc/nginx/fastcgi_params;
    }
}

我怎样才能解决这个问题? 谢谢。

Answer 1:

你“听”指令是错误的。 看到这个页面: http://nginx.org/en/docs/http/server_names.html 。

他们应该是

server {
    listen      80;
    server_name www.domain1.com;
    root /var/www/domain1;
}

server {
    listen       80;
    server_name www.domain2.com;
    root /var/www/domain2;
}

请注意,我只包括相关线路。 其他的一切看起来不错,但我只是删除了它的清晰度。 为了测试它,你可能想尝试真正服务于PHP服务之前,从每个服务器第一个文本文件。 这就是为什么我在那里留下的“根”的指令。



文章来源: Nginx Different Domains on Same IP
标签: nginx dns