PHP初学者:配置Apache服务器并且设置DNS

http://tech.ddvip.com   2007年09月20日    社区交流

内容摘要:用Apache设置虚拟主机服务通常可以采用两种方案:基于IP地址的虚拟主机和基于主机名字的虚拟主机,下面我们分别介绍一下它们的实现方法以及优缺点。以便大家在具体的应用中能够选择最合适的实现方法。

  基于域名的虚拟主机相对比较简单,因为我们只需要配置DNS服务器将每个主机名映射(CNAMES)到正确的IP地址,然后配置Apache HTTP服务器,令其辨识不同的主机名就可以了。基于域名的服务器也可以缓解IP地址(IPV4)不足的问题。这种方式下,各个虚拟主机共享同一份Apache,因此有CGI程序运行时,安全性也不高。

  优点:只要一个IP地址就可以提供大量的虚拟主机服务。

  缺点:安全性差。维护这些虚拟主机时需要更改配置文件,并且需要重新启动Apache进程才能起作用。因此不适合进行大规模的虚拟主机服务。

  如果服务器只有一个IP地址,而在DNS中有很多映射到这个机器。我们想要在这个机器上运行www.ghq1.com和 www.ghq2.org两个站点。在Apache服务器的配置中创建一个虚拟主机并不会自动在DNS中对主机名做相应更新。我们必须自己在DNS中添加域名来指向我们的IP地址。否则别人是无法看到我们的web 站点。

  服务器配置(apache的配置文件httpd.conf)

  # Ensure that Apache listens on port 80
  Listen 80
  
  # Listen for virtual host requests on all IP addresses
  NameVirtualHost *
  
  <VirtualHost *>
  DocumentRoot /www/ghq1
  ServerName www.ghq1.com
  
  # Other directives here
  
  </VirtualHost>
  
  <VirtualHost *>
  DocumentRoot /www/ghq2
  ServerName www.ghq2.org
  
  # Other directives here
  
  </VirtualHost>

  因为*(星号)匹配所有的地址,所以主服务器不接收任何请求。因为 www.ghq1.com首先出现在配置文件中,所以它拥有最高优先级,可以认为是默认或首要服务器。这意味着如果一个接受的请求不能与某个ServerName指令相匹配, 它将会由第一个VirtualHost所伺服。

责编:豆豆技术应用

正在加载评论...