1、什么是虚拟主机
官话是:
虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主 机,每个虚拟主机可以独立对外提供 www 服务,这样就可以实现一台主机对外提供多个 web 服务,每个虚拟主机之间是独立的,互不影响的。
人话是:
我们可以在nginx是配置多个域名,每个域名指向一个系统,而这些系统公用一套物理机,从而提高资源利用率。
下面我们画一张简单虚拟主机示意图,在一台机上部署3个系统,然后再nginx上面配置3个IP/域名对应这三个系统,那么对外就可以提供多个不同系统服务了。
2、三种配置方式
nginx虚拟主机有三种配置方式,分别为基于端口、基于IP和基于域名,我们只需要修改nginx.conf配置文件中的server即可,一个server就表示一个虚拟主机服务
。
2.1、基于端口配置
修改nginx/conf/目录下的nginx.conf
配置文件,配置两个ip相同,端口不同
的server,这样就可以对外部同时提供不同的服务
# 服务一
server {
listen 8085;
server_name 192.168.38.10;
....
}
# 服务二
server {
listen 8086;
server_name 192.168.38.10;
....
}
}
2.2、基于IP配置
基于IP的也很简单,两个server的IP不同
即可
# 服务一
server {
listen 8085;
server_name 192.168.38.10;
....
}
# 服务二
server {
listen 8085;
server_name 192.168.38.11;
....
}
2.3、基于域名配置
基于域名则两个server的域名不同
即可,实际生产中我们一般都使用域名,而每个域名则会与公网IP绑定做对应解析映射
# 服务一
server {
listen 8085;
server_name www.mytest123.com;
.....
}
# 服务二
server {
listen 8085;
server_name www.mytest456.com;
....
}