Chinaunix首页 | 论坛 | 博客
  • 博客访问: 68017
  • 博文数量: 68
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-11 15:09
文章分类
文章存档

2014年(68)

我的朋友

分类: 系统运维

2014-04-11 15:12:52

原文地址:Apache的VirtualHost 作者:yaofang123

基于IP的虚拟主机使用链接的IP地址来决定相应的虚拟主机。 这样,你就需要为每个主机设定一个独立的IP地址。 而基于域名的的虚拟主机是根据客户端提交的HTTP头中的关于主机名的部分决定的。 使用这种技术,很多虚拟主机可以享用同一个IP地址。
PS:即同一台服务器只有一个IP的时候如何跑两个虚拟主机。而且现在的情况是本机开启一个IP:80端口通过LoadBalancer的VIP映射到这台虚拟主机上面。

为了使用基于域名的虚拟主机,你必须指定服务器IP地址(和可能的端口)来使主机接受请求。 您可以用指令来进行配置。 如果服务器上所有的IP地址都会用到, 你可以用*作为NameVirtualHost的参数。 请注意,在NameVirtualHost指令中指明了IP地址并不会使服务器侦听那个IP地址。

NameVirtualHost *

ServerName
ServerAlias domain.tld *.domain.tld
DocumentRoot /www/domain

ServerName
DocumentRoot /www/otherdomain
当然,你可以用一个固定的IP地址来代替NameVirtualHost和 指令中的*号,以达到一些特定的目的。 比如说,你可能会希望在一个IP地址上运行一个基于域名的虚拟主机, 而在另外一个地址上运行一个基于IP的或是另外一套基于域名的虚拟主机。
  1. NameVirtualHost *
  2. FastCGIExternalServer /www/client/codepub/mysite.fcgi -host 127.0.0.1:8055
  3. <VirtualHost *>
  4.   #Include conf/xx_seraph.conf   这个虚拟主机我们需要单点登录配置,下面这台就不需要了!
  5.   ServerName newpubs.xxx.com
  6.   DocumentRoot /www/client/codepub
  7.   Alias "/site_media" "/www/client/codepub/site_media"
  8.   RewriteEngine On
  9.   RewriteRule ^/(site_media.*)$ /$1 [QSA,L]
  10.   RewriteCond %{REQUEST_FILENAME} !-f
  11.   RewriteRule ^/(.*)$ /mysite.fcgi/$1 [QSA,L]
  12. </VirtualHost>


  13. FastCGIExternalServer /www/client/prepub/mysite2.fcgi -host 127.0.0.1:8099
  14. <VirtualHost *>
  15.   ServerName prepub.xxx.com
  16.   DocumentRoot /www/client/prepub
  17.   Alias "/site_media" "/www/client/prepub/site_media"
  18.   RewriteEngine On
  19.   RewriteRule ^/(site_media.*)$ /$1 [QSA,L]
  20.   RewriteCond %{REQUEST_FILENAME} !-f
  21.   RewriteRule ^/(.*)$ /mysite2.fcgi/$1 [QSA,L]
  22. </VirtualHost>
配置两台虚拟主机其中一台需要应用单点登录来跑另外一台不需要单点登录来跑!
阅读(276) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~