首页 | Linux 基础 | 资讯动态 | Linux 应用 | Linux 服务器 | Linux 开发 | Linux 安全 | 专题 | 联盟论坛
  当前位置:主页>Linux 服务器>文章内容
在Ubuntu Linux 上架设Web服务器详解
来源: 作者:riechelr_hlp(收录) 发布时间:2007-06-12  

三、配置动态虚拟主机

一般情况下,我们会在Web服务器上寄放多个Web站点,并且每个站点都有它自己的虚拟服务器。对于Apache来说,它同时支持基于名称的虚拟服务器和基于IP的服务器。

对于基于IP的虚拟服务器,每个站点都具有一个单独的IP地址,这样的缺点是使用太多的IP地址,但如今IPv4的地址已有枯竭的迹象,所以不提倡使用,通常在要求使用SSL 时才使用。

对于基于名称的虚拟服务器,多个Web站点共享一个IP地址。在这种情况下,通常根据HTTP请求头部来决定把其发给哪一个站点。为此,我们需要为每个虚拟服务器分别建立一个配置,给作为Web站点的根的目录以及主机命名。但是,如果这样的话我们每当添加一个新的虚拟服务器时,就要修改Apache的配置并重新启动,这的确很烦人呢!

值得高兴的是,如果使用动态虚拟主机技术的话,可以随时加入虚拟主机时而不必重新配置或启动Apache。该技术要用到一个模块,称为vhost_alias。我们可以通过在Apache2已启用的模块目录中建立一个符号链接来启用该模块,命令如下所示:

 

$ sudo ln -s /etc/apache2/mods-available/vhost_alias.load \\
         /etc/apache2/mods-enabled/vhost_alias.load

要想使vhost_alias正常工作,我们还需要修改/etc/apache2/apache2.conf 来关闭常规名称(canonical names),修改日志文件的配置,并为我们的虚拟主机规定存放位置。下面是一个实例:

 

#从"Host:"头中取得主机名
UseCanonicalName Off

# 这种日志格式可以从第一个字段中提取出主机名
LogFormat "%V %h %l %u %t "%r" %s %b" vcommon
CustomLog /var/log/apache2/access_log vcommon

# 在返回请求的文件名路径中包含主机名
VirtualDocumentRoot /var/www/vhosts/%0/web
VirtualScriptAlias /var/www/vhosts/%0/cgi-bin

接下来,创建存放虚拟主机的目录,命令如下:

 

$ sudo mkdir /var/www/vhosts

新建一个基干虚拟服务器,命令如下所示:

 

$ sudo mkdir -p /var/www/vhosts/skeleton/cgi-bin
$ sudo cp -a /var/www/apache2-default /var/www/vhosts/skeleton/web

重新启动apache2,使得上面的配置生效,方法如下所示:

 

$ sudo /etc/init.d/apache2 restart

好了,现在我们可以建立基于名称的虚拟主机了。方法是把基干拷贝到要响应的主机名。举例来说,要想为www.mysite.com新建一个虚拟服务器的话,只要运行下面的命令就行了:

 

$ sudo cp -a /var/www/vhosts/skeleton /var/www/vhosts/
               
                  www. mysite.com

现在,所有到达你的Apache服务器的HTTP连接中,只要其“Host:”头部被设成 www. mysite.com,那么把由对应的虚拟服务器来响应。

为了早些看到我们的劳动成果,可以在本地进行测试。为此编辑/etc/hosts,加入下面一项:

共3页: 上一页 [1] 2 [3] 下一页
 
如果您对本文有任何疑问或者建议,请到论坛讨论区发表您的意见: >> 论坛入口
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
  热点文章
·Linux系统下Apache服务器设置与
·在Linux x86上安装Oracle数据库1
·Linux操作系统下IPTables配置方
·Linux系统下SVN服务器的搭建过程
·Linux架设代理服务器(1)
·Linux系统下的Oracle数据库编程
·Linux 服务器集群系统
·Linux下免费数据库PostgreSQL开
·高端Linux操作系统服务器技术之
· 在 Linux 上构建 Web spider
·Debian Linux操作系统下启动远程
·用LVS在Linux上搭建负载均衡的集
  相关文章
·Linux操作系统高性能集群监控管
·基于Fedora Core5 NFS的服务器搭
·在Centos5的环境下搭建安全的SSH
·Linux下免费数据库PostgreSQL开
·MySQL数据库系统的常规管理介绍
·源码安装Postgresql8.1.3+PostGI
·MYSQL高效率地装载数据解决方案
·PostgreSQL的热备和恢复
·编制一个Mysql数据库自动备份脚
·用Linux建立局域网服务器
·Heartbeat_2.0.3配置MySQL5.0.18
·Linux架设代理服务器(1)

本站信息源至:互联网络,均为学习,交流所用,如有版权问题,请联系我们.
站长QQ:397422079 E_mail:riechelr_hl@unix5.com
转载本站内容请注明原作者名.谢谢!