从客户端角度来看,每台虚拟主机是一个独立的服务器。
从服务器角度来看,每台虚拟主机对应只是一个server的配置。
基于域名的虚拟主机:
修改配置文件
server {
listen 80;
server_name www.google.com;
location / {
root html/google;
index index.html index.htm;
}
}
server {
listen 80 default; #default 在浏览器中直接键入IP地址会进入这个
server_name www.163.com;
location / {
root html/163; #发布目录在html下的163目录
index index.html index.htm;
}
}
server {
listen 80;
server_name www.baidu.com;
location / {
root /baidu; #发布目录在/baidu目录 ,可以绝对路径,但是别把发布目录放在用户的家目录里这样会报403错误,没有访问权限。
index index.html index.htm;
}
}
* 注意: 客户端在测试时要进行解析
也可以把每个虚拟主机分开写在不同的配置文件中,在http块中引用该路径即可 。
include /user/local/nginx/conf/*.conf;
基于IP的虚拟主机:
解析时将不同的域名解析到对应的IP上,要求服务器要有多个IP
server {
listen 192.168.10.11:80;
server_name web.11.com;
location / {
root /11/html;
index index.html index.htm;
}
server {
listen 192.168.10.12:80;
server_name web.12.com;
location / {
root /12/html;
index index.html index.htm;
}
}
基于端口的虚拟主机:
在访问时需要带端口
server {
listen 1111;
server_name web.11.com;
location / {
root /11/html;
index index.html index.htm;
}
}
server {
listen 1212;
server_name web.12.com;
location / {
root /12/html;
index index.html index.htm;
}
}