Nginx 同端口多域名配置多站点问题

之前碰到过这问题,也在网上找了好多,答案都一样在nginx的配置中配置两个server,但是其中有一个域名会解析不出来,好尴尬,在这里记录一下碰到这个问题该怎么解决

nginx 下 conf 目录文件 nginx.conf 文件,如果有多个 server 的话,一定要 确保设置其中一个为 default_server, 这样如果 nginx 按照 server_name 匹配不到合适的 server 时,可以把请求转发给默认的 server 处理。

配置这个只需要在 nginx 的配置中配置两个 server 就可以了。这两个 server 监听同一个端口,但是 server_name 不同。如下:


# 代码是网站拷贝的, 适当的修改了一点, 只要形式一样就可以了

server {
    listen      80 ;
    server_name xxxx.com;
    root        D:/test/webroot/test/;
    index       index.html index.htm;

    location / {
            allow  all;
    }
}
server {
    listen      80 ;
    server_name www.123.com;
    root        D:/test/webroot/apache/;
    index       index.html index.htm;

    location / {
            allow  all;
    }
}
# [关键点]
# 单文件多站点配置, 如果不配置其中一个为 default_server 则失败
# 多文件多站点配置, 也是一样, 将server放置不同的文件 然后 include vhost/*.conf 进来
server {   
    listen      80 default_server;
    server_name localhost;
    root        D:/test/webroot/nginx/;
    index       index.html index.htm;

    location / {
            allow  all;
    }
}
发布了8 篇原创文章 · 获赞 13 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qq_37655695/article/details/84837613