一.什么事虚拟主机
将一个真实服务器,通过虚拟化技术,划分成多个独立的虚拟的子服务器,这些子服务器都在这台真是服务器中,每个虚拟子服务器都是一个虚拟主机。
二.nginx配置虚拟主机有两个步骤,先配置ip,在绑定ip地址与虚拟主机。
三.ip地址的配置(通过linux的命令行)
1.查看本机ip
ifconfig
(eth0)设备名称,inet addr的值为本机ip
2.为eth0设备指定ip
ifconfig eth0 192.168.1.1-59(1到59的范围) netmask(子网掩码) 255.255.255.0
3.为eth0配置虚拟主机
配置eth0的第一个虚拟主机的ip,broadcast为以前的值不变,通过ifconfig可见 netmask子网掩码的配置,可固定255.255.255.0
icongif eth0:1 192.168.1.7 broadcast 10.135.191.255 netmask 255.255.255.0
配置eth0的第二个虚拟主机的ip
icongif eth0:2 192.168.1.17 broadcast 10.135.191.255 netmask 255.255.255.0
第三个......
四.虚拟主机的配置:将对于的ip与对应的虚拟主机建立联系(通过nginx的配置文件)
1.安全起见,新建配置文件xnzj.conf,
touch xnzj.conf
2.将基本的配置文件的框架复制进去
3.虚拟主机的配置http下的server为虚拟主机的配置
http{
#第一个虚拟主机的配置
server{
#监听192.168.1.7主机的80端口,如果有请求访问此处,讲进行处理
listen 192.168.1.7:80;
#同一个ip可以配置不同的域名,配置的n个域名对应了一个server域,如果某个指向此ip的域名没有对应的server,会默认访问第一个配置的server
#如果一个域名对应了两个server,nginx会警告,但不影响使用,会使用第一个匹配的server,忽略后面匹配的server
server_name tianxiaolin.cn;
#设置此虚拟主机的日志文件,格式使用combined默认格式
access_log logs/server1.log combined;
location /{
#需要发送给后端服务器的客户端的信息
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#默认访问的首页,优先级从左到右
index index.html index.jsp index.htm;
#访问192.168.1.7:80的默认根目录,此为与此配置文件同级的相对路径
root mytest/htmlpage1;
#访问192.168.1.7:80会默认访问与nginx.conf同级目录下的mytest下的htmlpage目录下的index等默认首页文件
}
}
#第二个虚拟主机的配置
server{
listen 192.168.1.17:80;
server_name 192.168.1.17;
access_logs logs/server2.log combined;
location /{
index index.html index.htm index.jsp
root mytest/htmlpage2;
}
}
}
浏览器输入192.168.1.7会访问mytest/htmlpage1下的文件
浏览器输入192.168.1.17会访问mytest/htmlpage2下的文件