我试图使用nginx在同一个端口上运行域和子域,但还没有成功。
我有一个名为www.just4bettors.mobi的域,用于移动页面,子域必须名为www.desktop.just4bettors.mobi,这显然是用于桌面站点。
如果输入www.just4bettors.mobi一切正常,则会到达页面,但如果输入www.desktop.just4bettors.mobi则会得到This web page is not available。这是我目前为止的服务器块

server {
        large_client_header_buffers 1 1K;

        listen       80;
        server_name  ~^(?<subdomain>[^.]*)\.?just4bettors.mobi$ just4bettors.mobi;
        root   /home/c0pt/capilleira/capilleiraclickandgamblemobile/www;

        location / {
            if ($subdomain) {
               root /home/c0pt/capilleira/capilleiraclickandgambleweb/dist;
            }
            if ($host = "just4bettors.mobi") {
                root /home/c0pt/capilleira/capilleiraclickandgamblemobile/www;
            }
            index  index.html index.htm;
            ...
        }
}

一旦我尝试访问desktop.just4bettors.mobi,控制台将返回此GET http://desktop.just4bettors.mobi/ net::ERR_NAME_NOT_RESOLVED
你知道这里的根是不同的,移动和网络生活在不同的地方。
那么,我在这里遗漏了什么?

最佳答案

我管理的nginx配置中有数百万个不同的域在使用。在一个server{}块指令中工作是非常复杂的。我要做的是:

server {
    large_client_header_buffers 1 1K;
    listen 80;

    server_name www.just4bettors.mobi;
    root /home/c0pt/capilleira/capilleiraclickandgamblemobile/www;

    location / {
        ...
    }
}

server {
    large_client_header_buffers 1 1K;
    listen 80;

    server_name www.desktop.just4bettors.mob;
    root /home/c0pt/capilleira/capilleiraclickandgambleweb/dist;

    location / {
        ...
    }
}

您可以在这里阅读更多关于此的信息:http://wiki.nginx.org/Pitfalls#Server_Name

10-07 15:25