nginx多个域名配置项目

#官网
server {
    listen       80;
    server_name  http://www.xxxx.com;

    location / {
        root   /home;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

#app
server {
    listen       80;
    server_name  http://www.app.xxxx.com;

    location / {
        root   /home/app;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

#后台
server {
    listen       80;
    server_name  http://www.admin.xxxx.com;

    location / {
        root   /home/admin;
        index  index.html index.htm;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

app指向的还是第一个地址,是怎么回事?

阅读 2.5k
1 个回答

server_name 指主机名,不带协议名和端口号。

server_namehttp:// 都删掉。


针对评论区配置的测试结果:

首先修改本地 Hosts,以下配置中出现的域名全都指向本机。

然后按照配置中出现的 root 路径,各新建一个 index.html,文件内容与对应域名保持一致。

最后 curl 结果如下图。

image.png

image.png

推荐问题