加入收藏 | 设为首页 | 会员中心 | 我要投稿 百客网 - 百科网 (https://www.baikewang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

6.6 虚拟主机

发布时间:2022-12-16 10:55:20 所属栏目:Unix 来源:
导读:  所谓的虚拟主机服务就是指将一台机器虚拟成多台WEB服务器。举个例子来说,一家公司想从事提供主机代管服务,它为其它企业提供WEB服务。那么它肯定不是为每一家企业都各准备一台物理上的服务器,而是用一台功能较
  所谓的虚拟主机服务就是指将一台机器虚拟成多台WEB服务器。举个例子来说,一家公司想从事提供主机代管服务,它为其它企业提供WEB服务。那么它肯定不是为每一家企业都各准备一台物理上的服务器,而是用一台功能较强大的大型服务器,然后用虚拟主机的形式,提供多个企业的WEB服务,虽然所有的WEB服务就是这台服务器提供的,但是让访问者看起来却是在不同的服务器上获得WEB服务一样。
 
  具体地说unix主机空间,就是,我们可以利用虚拟主机服务将两个不同公司与的主页内容都存放在同一台主机上。而访问者只需输入公司的域名就可以访问到它想得到的主页内容。
 
  1. 支持在同一台服务器上配置多个共享服务
 
  2. 在虚拟主机中未指定的配置即采用主机配置
 
  serverName Virtl.com (用于指定虚拟主机的名称和端口号)
 
  DocumentRoot /path-to-document-root (用于指定虚拟主机的根文档目录)
 
  httpd.conf配置文件中虚拟主机的部分通常比刚才的serverName和DocumentRoot部分有更多的指令。可能的指令包括:
 
  Errorlog :用于指定虚拟主机的错误日志存放路径
 
  TransferLog :用于指定虚拟主机的访问日志存放路径
 
  ScriptAliases :用于定义许可运行哪个目录的CGI程序。
 
  一旦任一虚拟主机被定义,那么来自服务器的内容服务必须被移到一个虚拟主机里。
 
  SSL虚拟主机在/etc/httpd/conf.d/ssl.conf中配置。
 
  3.如何设置虚拟主机
 
  用Apache设置虚拟主机服务通常可以采用两种方案:基于IP地址的虚拟主机和基于名字的虚拟主机,下面分别介绍一下它们的实现方法。以便大家在具体的应用中能够选择最合适的实现方法。
 
  下面举一个拥有两个虚拟主机的服务设置。
 
  ⑴ 配置基于IP地址的虚拟主机步骤
 
  假设,我们用来实现虚拟主机服务的机器,首先已经为自己提供了WEB服务,现在将为新的一家公司提供虚拟主机服务。
 
  ① 规划IP地址:为虚拟主机申请新的IP地址。(假设本机IP地址为202.101.2.1)
 
  202.101.2.2
 
  ② 让ISP作好相应的域名解析工作。
 
  ③ 为网卡设置IP别名:
 
  /sbin/ifconfig eth0:0 202.101.2.2 netmask 255.255.255.0
 
  ④ 重新设置"/etc/httpd/conf/httpd.conf",在文件中加入:
 
  ServerAdmin webmaster@yourdomain.com
 
  DocumentRoot /home/httpd/www.company1.com
 
  ServerName
 
  ErrorLog /var/log/httpd/www.company1.com/error.log
 
  ⑤ 建立相应的目录。
 
  mkdir /home/httpd/www.company1.com
 
  mkdir /var/log/httpd/www.company1.com/error.log
 
  ⑥ 将相应的主页内容存放在相应的目录中即可。
 
  ⑵ 不利因素
 
  这种虚拟主机的实现方法有一个严重的不足,那就是,每增加一个虚拟主机,就必须增加一个IP地址。而由于IP地址空间已经十分紧张,所以通常情况下是无法取得这么多的IP地址的。而且从某种意义上说,这也是一种IP地址浪费。设置实现基于名字的虚拟主机服务而基于名字的虚拟主机服务,是比较适合使用的一种方案。因为它不需要更多的IP地址,而且配置简单,无须什么特殊的软硬件支持。现代的浏览器大都支持这种虚拟主机的实现方法。
 
  正是以上原因,我们没有理由不使用基于名字的虚拟主机服务而使用基于IP地址的虚拟主机服务。
 
  ⑶ 配置基于名字的虚拟主机服务的步骤
 
  配置基于名字的虚拟主机服务需要修改配置文件“/etc/httpd/conf/httpd.conf”,在这个配置文件中增加以下内容。
 
  NameVirtualHost 202.101.2.1
 
  ServerAdmin webmaster@yourdomain.com
 
  DocumentRoot /home/httpd/www.company1.com
 
  ServerName
 
  ErrorLog /var/log/httpd/www.company1.com/error.log
 
  ServerAdmin webmaster@yourdomain.com
 
  DocumentRoot /home/httpd/www.company2.com
 
  ServerName
 
  ErrorLog /var/log/httpd/www.company2.com/error.log
 
  也就是在基于IP地址的配置基础上增加一句:NameVirtualHost 202.101.2.1而已。在本例中,为了体现只需要增加一次,所以特别地设置了两个虚拟主机服务。
 
  最后也是建立相应的目录,将主页内容放到相应的目录中去就可以了。
 

(编辑:百客网 - 百科网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章