Nginx:虚拟主机(原理+案例)

示意图:

 

虚拟主机

虚拟主机是一种特殊的互联网服务,让你的网站能够在互联网上被访问。通过虚拟主机,多个网站可以共享一个物理服务器的资源,包括 CPU、内存、硬盘存储和网络带宽。每个网站在虚拟主机上运行,就如同它们各自有一台独立的服务器一样。虚拟主机提供了一种进行网站托管的节约成本的方式,适合于小型和中型网站。

Nginx的虚拟主机

个人理解:一个ip下不同域名可以返回不同目录静态文件。

Nginx 是一种流行的开源 Web 服务器和反向代理服务器,也支持虚拟主机的概念。利用 Nginx 的虚拟主机功能,可以在一台服务器上托管多个网站,并且这些网站可以使用不同的配置。这样,单一的物理硬件就可以为多个网站提供服务,同时还能确保这些网站之间的隔离性。

在 Nginx 上,有两种主要的虚拟主机类型:

  • 基于服务器名称的虚拟主机(server_name):这种类型的虚拟主机是通过请求的头部的 Host 字段来确定请求将送达哪个服务器块(server block)。这让 Nginx 可以使用一个IP地址服务多个不同的网站。
  • 基于IP的虚拟主机:这种类型的虚拟主机是依据传入请求的IP地址来决定哪个服务器块将处理该请求。每个虚拟主机对应一个独立的 IP 地址。
虚拟主机原理

如果直接使用一个java程序建立的网站,绑定了本机的80端口,那么我们在访问这个80端口号时,就只会显示这个网站,无论是使用域名还是使用ip。

如果是使用nginx建立了基于服务器名称的虚拟主机,当使用http协议和域名请求我们的80端口号,http协议中会附带请求的域名,nginx就可以根据域名将请求转发到其他地址或直接返回对应目录中的文件。

举例

配置两个主机,一个对应www.withzl.com;一个对应*.withzl.com。

index.html:

index2.html:

server_name匹配规则

server_name按先后顺序排序,匹配到一个后就会停止继续匹配。

  • 一个servername中可匹配多个域名:server_name vod.mmban.com www1.mmban.com;
  • 通配符匹配:server_name *.mmban.com;
  • 通配符结束匹配:server_name vod.*;
  • 正则匹配:server_name ~^[0-9]+\.mmban\.com$;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值