Torres-tao  

在真实的服务器环境里,为了充分利用服务器资源,一台nginx web服务器同时会配置N个虚拟域名主机,即多个域名对于同样一个80端口。然后服务器IP数量很多,也可以配置基于多个IP对应同一个端口。这里介绍两个种类,方法基本相同,实现效果不同。

方法1:同个端口,访问域名不同,访问页面不同

vim修改nginx.conf server段配置如下:

server {
	listen 80;
    server_name www.a.com;
    #access_log logs/host.access.log main;
    location / {
        root html/a;
        index index.html index.htm;
    }
}
server {
    listen 80;
    server_name www.b.com;
    #access_log logs/hosts.access.log main;
    location / {
        root html/b;
        index index.html index.htm;
    }
}

解释:创建两个不同的目录mkdir -p /usr/local/nginx/html/{a,b},然后分别在两个目录创建两个不同的index.html网站页面即可。通过客户端配置hosts指向两个域名,然后在IE浏览器访问测试效果。

方法2:同个端口,访问一级域名相同,二级域名不同,访问页面不同。(根据域名后端区分访问页面)

vim修改nginx.conf server段配置如下:

server {
    listen 8089;     #这里使用非常规端口,只需要解析到一下使用到的sjb.suhuayue.com域名中即可

    server_name sjb.suhuayue.com _;
    access_log logs/host.access.log main;
    error_log logs/error.log;

location / {
    index index.html index.htm;
}
location ^~ /a/ {
    add_header X-Frame-Options DENY;
    proxy_set_header X-Client-Really-IP $remote_addr;
    alias /opt/qypay/a/;
    index index.html index/htm;
}
location ^~ /b/ {
    add_header X-Frame-Options DENY;
    proxy_set_header X-Client-Really-IP $remote_addr;
    alias /opt/qypay/b/;
    index index.html index/htm;
}

}

解释:以上配置成功后,sjb.suhuayue.com/a/为页面一,sjb.suhuayue.com/b/为页面二。

注意:

1、以上配置文件中alias /opt/qypay/b/;这里必须以/结尾,因为指定的是一个目录

2、如果显示页面的时候,页面能读取到,但是显示不出来,那么就是解析的问题,可配合前端进行询问前端为哪种解析

3、访问域名的时候,必须以/结尾,如:http://alias /opt/qypay/b/是正确的,http://alias /opt/qypay/b是错误的

posted on 2022-05-11 14:38  雷子锅  阅读(109)  评论(0编辑  收藏  举报