在真实的服务器环境里,为了充分利用服务器资源,一台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
是错误的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通