当想要让一个WEB服务器发布多个网站时就需要用到虚拟主机了,创建虚拟主机有三种方式:
1.基于IP的虚拟主机
每个网站都需要一个IP
缺点:需要多个IP,如果是公网IP,每个IP都需要付费
server {
listen 192.168.10.42:80;
location / {
root html/abc;
index index.html index.htm index.php;
}
}
server {
listen 192.168.10.52:80;
location / {
root html/cbd;
index index.html index.htm;
}
}
2.基于端口的虚拟主机
只需要一个IP
缺点:端口号无法告诉公网用户,无法适用于公网用户,适合内部用户
server {
listen 80;
location / {
root html/abc;
index index.html index.htm index.php;
}
}
server {
listen 8080;
location / {
root html/cbd;
index index.html index.htm;
}
}
3.基于域名的虚拟主机(一般使用这个)
server {
listen 80;
server_name www.abc.com;
location / {
root html/web1;
index index.html index.htm;
}
}
server {
listen 80;
server_name www.cbd.com;
location / {
root html/web2;
index index.html index.htm;
}
}