虚拟主机是IDC机房中服务器所划分的空间,每台独立服务器都至少分配一个IP地址。
所以说,每个用虚拟主机的用户,都会有IP地址。这个IP一般都是跟其他同太服务器上的用户公用的IP。你平时用虚拟主机,解析域名需要用到虚拟主机的IP地址,上传程序也需要通过用户名 密码 IP上传的,所以用虚拟主机,都会用到IP
虚拟主机简介:1. 把一台运行在互联网上的服务器分成多个虚拟的服务器。2. 每一个虚拟主机都具有独立的域名和完整的Internet服务器(支持WWW,FTP,E-mail等)。3. 一台服务器上的不同虚拟主机是各自独立的,并由用户自行管理。4. 在外界看来,每一台虚拟主机和一台独立的主机完全相同。 配置参数:<VirtualHost *:*>ServerAdmin 管理员的E-mail地址 DocumentRoot 虚拟主机的根目录 ServerName 虚拟主机的名称端口 ErrorLog 虚拟主机的错误日志路径 Customlog 虚拟主机的访问日志路径</VirtualHost>基于IP的虚拟主机1.在服务器上绑定多个Ip 2.把多个网站绑定到不同的IP3.访问服务器上不同的IP,可以看到不同的网站。 需求一:基于IP的虚拟主机:1.相同的IP不同的端口号的虚拟主机配置Include指令2.在httpd.conf中添加Include#echo “Include vhost/vhost.conf”>>/etc/httpd/conf/httpd.conf3. 创建虚拟主机目录#mkdir /etc/httpd/vhost相同的IP不同的端口号的虚拟主机配置:子文件的配置:Listen 88<VirtualHost 192.168.0.6:88>DocumentRoot /var/www/vhost88ServerName 192.168.0.6:88CustomLog /var/www/vhost88/access_log combined</VirtualHost>创建根目录#mkdir /var/www/vhost88创建主页#echo “vhost88” >/var/www/vhost88/index.htmlApache重新启动Service httpd restart 具体配置:(实现一个IP ,2个端口的虚拟主机)#echo “Include vhost/vhost.conf”>>/etc/httpd/conf/httpd.conf#mkdir /etc/httpd/vhost#vi /etc/httpd/vhost/vhost.conf (创建虚拟配置目录,即添加子文件的配置) 添加:Listen 88Listen 89<VirtualHost 192.168.0.6:88>DocumentRoot /var/www/vhost88ServerName 192.168.0.6:88CustomLog /var/www/vhost88/access_log combined</VirtualHost><VirtualHost 192.168.0.6:89>DocumentRoot /var/www/vhost89ServerName 192.168.0.6:89CustomLog /var/www/vhost89/access_log combined</VirtualHost>#######################################################添加至此#mkdir /var/www/vhost88#mkdir /var/www/vhost89#echo “vhost88” >/var/www/vhost88/index.html#echo “vhost89” >/var/www/vhost89/index.htmlService httpd restart 需求二:基于Ip的虚拟主机:不同的Ip地址相同的端口号(1) 多块物理网卡,每个网卡一个IP(2) 一块物理网卡,绑定多个IP 配置虚拟网卡:#ifconfig eth0:0 192.168.0.6 up#ifconfig eth0:1 192.168.0.7 up 具体配置如下:(实现一个IP ,多个地址访问) #echo “Include vhost/vhost.conf”>>/etc/httpd/conf/httpd.conf#mkdir /etc/httpd/vhost#vi /etc/httpd/vhost/vhost.conf <VirtualHost 192.168.0.6:80>DocumentRoot /var/www/vhost6ServerName 192.168.0.6CustomLog /var/www/vhost6/access_log combined</VirtualHost><VirtualHost 192.168.0.7:80>DocumentRoot /var/www/vhost7ServerName 192.168.0.7CustomLog /var/www/vhost7/access_log combined</VirtualHost>############################################## 添加至此#ifconfig eth0:0 192.168.0.6 up#ifconfig eth0:1 192.168.0.7 up#mkdir /var/www/vhost6#mkdir /var/www/vhost7#echo “vhost6” >/var/www/vhost6/index.html#echo “vhost7” >/var/www/vhost7/index.htmlService httpd restart ########################################################### 基于Ip的虚拟主机到此结束!当客户端访问URL地址时,通过对应的DNS解析出唯一的IP(主机名),从而访问该主机下的资源。
一个IP按理来说可以绑定无数多个域名,可能有人想问,因为每个域名都会解析成相同的IP地址,那访问的资源或者WEB站点不都是相同的么,这不是浪费这么多域名?
这个就是本文主要的目的,一个IP是如何建立多个WEB网站应用,是如何为不同的域名分配独立的存储空间。
服务器虚拟主机是指使用一台物理机器,充当多个主机名的WEB服务器。比如由一台机器同时提供 http://www.vinter1.com 、 http://www.vinter2.com 等WEB服务,而浏览这些WEB网站的用户感觉不到这种方式下跟由不同的机器提供的服务有什么差别。
使用虚拟主机的好处在于,一些小规模的网站,通过跟其他网站共享同一台物理机器,可以减少系统的运行成本,并且可以减少管理的难度;另外,对于个人用户,也可以使用这种虚拟主机方式来建立有自己独立域名的WEB服务器,目前国内有很多公司都提供这种免费的服务。
上文讲到一台物理机器(真实主机)可以建立多个虚拟主机,每个虚拟主机都有唯一IP,有人又想问,这和一个IP可以建立多个WEB站点还是没关系啊!
这种方式下,提供虚拟主机服务的机器上同时为不同的虚拟主机分配不同的IP地址。服务器根据用户请求的目的IP地址来判定用户请求的是哪个虚拟主机的服务,从而进一步的处理。
缺点:基于IP地址的虚拟主机方式需要在提供虚拟主机服务的机器上设立多个IP地址,既浪费了IP地址,又限制了一台机器所能容纳的虚拟主机数目。因此这种方式越来越少使用。这种方式是早期使用的HTTP 1.0协议唯一支持的虚拟主机方式。
由于基于IP地址的虚拟主机方式存有以上缺点,HTTP 1.1协议中增加了 客户端请求头新增Host字段 。简单来说,当客户程序向WEB服务器发出请求时,客户把想要访问的主机名也通过请求头中中的Host字段发送给WEB服务器。
优点:提供虚拟主机服务的机器上只要设置一个IP地址,理论上就可以给无数多个虚拟域名提供服务,占用资源少,管理方便。目前基本上都是使用这种方式来提供虚拟主机服务。
缺点:早期的HTTP 1.0版本下不能使用,但实际上现在使用的浏览器基本上都支持HTTP1.1版本。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)