Nginx的虚拟主机配置
虚拟主机
使用特殊的软硬件技术,把一台运行在因特网上的服务器主机,分成一台台虚拟的主机。
每一台虚拟主机,都可以是一个独立的网站,可以具有独立的域名,具有完整的Internet服务器功能,比如,WWW、FTP和Email等。
同一台主机上的虚拟主机之间是完全独立的,从网站访问者来看,每一台虚拟主机和一台独立的主机完全一样。
利用虚拟主机,不用为每个要运行的网站提供一台独立的Nginx服务器,或者单独运行一组Nginx进程。
虚拟主机提供了,在同一台服务器,同一组Nginx进程上,运行多个网站的功能。
在Nginx配置文件中,一个简化的虚拟主机配置如下
http
{
server
{
listen 80 default;
server_name _*;
access_log logs/default.access.logcombined;
location / {
index index.html;
root /data0/htdocs/htdocs;
}
}
}
和Apache一样,Nginx支持多种类型的虚拟主机。
包括基于IP的虚拟主机,基于域名的虚拟主机,基于端口的虚拟主机。
基于IP的虚拟主机
Linux、FreeBSD操作系统都允许添加IP别名。
IP别名,就是可以在一块物理网卡上,绑定多个IP地址。
这样,就能够在使用单一网卡的同一个服务器上运行多个基于IP的虚拟主机。
设置IP别名非常容易,只须皮遏制系统上的网络端口,让它监听额外的IP地址,在Linux系统上,可以使用标准的网络配置工具,比如ifconfig和route命令等,添加IP别名。
基于域名的的虚拟主机
最常见的一种虚拟主机,只须配置DNS服务器,将每个主机名映射到正确的IP地址,然后,配置Nginx服务器,令其识别不同的主机名即可。
这样,使很多虚拟主机,可以共享同一个IP地址,有效的解决了IP地址不足的问题,因此,如果没有特殊的要求,必须使用基于IP的虚拟主机时,最好使用基于域名的虚拟主机。