会员登陆  支付方式  联系我们  在线客服  网站地图       
首页 关于域浪 互联网数据中心业务、主机托管、主机租用、机架租用、带宽租用、机房介绍、机房对比、CCN网络加速 adsl专线、深圳adsl专线 虚拟主机、域名注册、数据库、企业邮局、动态域名 网络安全、网络临近平台、安全服务、防火去墙租用、安全产品、域浪抗DDOS防火墙、NetScreen防火墙 技术支持  
   当前位置:首页 >> 技术支持 >> LINUX操作系统 >> Linux下虚拟域名的实现(2)
 
精华文章
    轻轻松松安装 Linux(...  
    轻轻松松安装 Linux(...  
    轻轻松松安装 Linux(...  
    Linux中的应用软件安装...  
    在Linux下使用办公软件...  
    Linux下的经典播放器  
    Linux下的视频播放系统...  
    了解Linux  
    Linux的常用网络命令  
    linux使用技巧二则  
    Linux下的FTP服务器配...  
    Linux下虚拟域名的实现...  
    Linux下虚拟域名的实现...  
    Linux下虚拟域名的实现...  
    Linux下配置DHCP服务器...  
    Linux下添加新硬盘及分...  
    认识Linux下Ext2与Ext...  
    RedHat Linux下防火墙...  
    Linux下硬盘分区的最佳...  
    Linux环境下防火墙配置...  
    Linux环境下防火墙配置...  
    Linux环境下防火墙配置...  
    一张软盘玩Linux  
    让你的Linux用起来跟W...  
    世界4个头号Linux认证...  
    linux2.6.7内核的升级  
    浅谈如何学习linux  
    几个重要的Linux内核文...  
  更多>>  
   LINUX操作系统
 Linux下虚拟域名的实现(2)
 目前Linux操作系统十分火爆,所以很多朋友希望了解一下Linux下虚拟域名的实现过程。下面就基于目前比较流行的RedHat来讨论一下。



  二、Apache服务器的配置



  Apache服务器是目前互联网上使用最多的Web服务器,它可以维护非常繁忙的站点。RedHat 6.0捆绑了Apache Web Server 1.3。它的配置文件位于"/etc/httpd/conf"目录下,有httpd.conf、srm.conf、access.conf,下面讨论一下与虚拟域名有关的配置: 



  1、静态配置



  修改配置文件 httpd.conf 的步骤: 



  (1) 首先设置UseCanonicalName为off。它指示用服务器Host:header的内容代替ServerName 的值来提供给环境变量SERVER_NAME。



  (2) 然后加入: 



  NameVirtualHost xxx.xxx.xxx.xxx其中xxx.xxx.xxx.xxx为所要配置的虚拟服务器的IP地址。在此可配置多个虚拟IP地址,当然要与DNS服务器中的配置一致。(注意:这里要用IP地址,不能用域名。)



  (3) 接下来为每个虚拟域名加入一段记录: 



  < virtualhost xxx.xxx.xxx.xxx> 

  ..... 

  < /virtualhost> 



  xxx.xxx.xxx.xxx要和NameVirtualHost配置的IP地址一致。在两个标志之间可加入的配置参数有: 



  ServerName后面跟你要增加的虚拟域名,如aaa.domain.com ; 

  Documentroot如果你映射到本机的路径就加在后面,如"/home/aaa" ; 

  redirect如果你映射到远端的URL可加在后面,有两个参数,第一个是虚拟域名的相对路径,第二个是远端站点的URL; 

  ServerAlias后可加入本域名的别名,可使用通配符,如*.aaa.domain.com 。 



  下面举两个例子: 



  例3、映射到本机的物理路径: 



  < virtualhost xxx.xxx.xxx.xxx> 

  DocumentRoot "/home/test" 

  ServerName test.domain.com 

  < virtualhost> 

例4、映射到远端的URL: 



  < virtualhost xxx.xxx.xxx.xxx> 

  ServerName test1.doamin.com 

  redirect / http://test.domain1.com/welcome.htm 

  < /virtualhost> 



  还有一些参数,象log文件的位置、超时的设置、缓冲区的设置等等,在此不一一介绍,可以参考Apache服务器的在线帮助文件。配置好httpd.conf文件后需要重新启动Apache的后台守护进程httpd, 



  [root@domain /root]# /etc/rc.d/init.d/httpd restart 



  每增加一个虚拟域名就要增加一段位于 < VirtualHost...>...< /VirtualHost> 之间的配置代码,而且只有在重新启动 httpd 后新配置才能生效。 



  2、动态配置 



  可以发现,如果要配置大量的虚拟域名将大大增加配置文件的长度,这样还会使Apache启动变慢,占用更多的内存,而且也不容易实现在线申请。可以通过选择动态方式来配置。这样不必事先写好配置,而是通过编写一定的动态规则来自动生成或随时从独立的配置文件中读取信息。 



  Apache有一个强大的扩展功能,即模块(Modules)的特性。模块可对服务器的功能进行扩充,它在运行和使用时才装入服务器,这样比一直放入服务器中要节省内存空间,同时也比调用外部CGI程序速度快。 



  现在使用一个功能强大的模块来实现动态配置虚拟域名,这就是mod_rewrite。它负责侦听从客户机送出的URL地址,并基于一组规则表达式对该URL来进行重写。这类似于URL别名概念,但它更进了一步,输出的URL可以映射到其他主机的任何URL地址上。 修改配置文件httpd.conf的步骤: 



  (1) 先设置UseCanonicalName为off 。 



  (2) 使用RewriteEngine on打开rewrite引擎。用RewriteMap设定配置文件的位置和属性,用RewriteCond和RewriteRule制定相应的规则。 



  例5、httpd.conf 文件中相关配置的一个例子: 



  RewriteEngine on 

  RewriteMap lowercase int:tolower 

  # 定义独立的配置文件的位置 

  RewriteMap vhost dbm:/www/conf/vhostdbm 

  # 利用独立的配置文件重映射虚拟域名 

  RewriteCond ${vhost:%1} ^(/.*)$ 

  RewriteRule ^/(.*)$ %1/docs/$1 



  RewriteCond %{REQUEST_URI} ^/cgi-bin/ 

  RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$ 

  RewriteCond ${vhost:%1} ^(/.*)$ 

  RewriteRule ^/(.*)$ %1/cgi-bin/$1 



  这里的 vhostdbm 文件格式见"CGI 程序的编制" 。 

  • 上一篇文章: Linux下虚拟域名的实现(3)
  • 下一篇文章: Linux下虚拟域名的实现(1)
  • 域浪网络ISP经营许可证 深圳地址:深圳市罗湖区宝安北路国际商品交易大厦七楼C30室
    Tel:0755-82266883/82267566 Fax:0755-82261966
    邮编:518000 
                        Copyright © 2006-2008 elang.cn All Rights Reserved 深圳市域浪网络技术有限公司版权所有