`
flyduck
  • 浏览: 47334 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

动态虚拟主机配置方法

阅读更多
动态配置海量虚拟主机驻留,用于巨量数目的WEB站点。随apache提供的标准模块+mod_vhost_aliases实现动态配置的主机。作用是在检查完进来的URL后为这些目录生成实际路径。
实现基于名字的动态虚拟主机指令:

VirtualDocumentRoot
指定模块如何从URL请求那里为动态虚拟主机构造DocumentRoot路径。
VirtualScriptAlias
和ScriptAlias一样,从URL请求那里构造一个包含CGI脚本的目录路径

%N
服务器的第N部分,如果服务器的全名是 vhost1.sohu.com,那么%1解析成vhost1,%2 解析成sohu,以此类推。

%N+
服务器名称的地N部分和其后所有其余部分。如果服务器全名为vhost1.sohu.com,那么%2+解析为sohu.com。

%-N
字符串倒数第N部分。如果服务器全名为vhost1.sohu.com,那么%-1解析成com。%-2解析成sohu

%p
动态虚拟主机的TCP端口号


还可以从服务器名字中抽取的每一部分可以使用分类符%N.M继续对子部分进一步划分,其中N是主部分,M是子部分。例如:
%1=vhost1
%2=sohu
%3=com

可以划分子部分:
%1.1=v
%1.2=h
%1.3=o
%2.1=s
%2.2=o


例如:
在httpd.conf文件中:
UseCanonicalName off
VirtualDocumentRoot /home/httpd/%1/%p

要实现输入http://www.263.net:443
需要在/home/httpd目录中建立www(%1)/443
然后在/home/httpd/%1/443/目录中建立网页文件, 在DNS中设置解析
访问即可。



例2:

将例子一中的VirtualDocumentRoot定义的内容删除。
然后再添加:
VirtualHostDocumentRoot /home/httpd/%1/%2


要求:
实现动态虚拟主机:
www.abc.com
www.xyz.com

#mkdir /home/httpd/www
#mkdir /home/httpd/www/abc
#mkdir /home/httpd/www/xyz
将网页文件放入/home/httpd/www/abc和/home/httpd/www/xyz即可
在DNS中设置解析

基于IP的动态虚拟主机


需要的指令:

VirtualDocumentRootIP

和VirtualDocumentRoot相似,但它是从请求到达的IP地址那里构造动态虚拟主机DocumentRoot的路径地

VirutalScriptAliasIP
和VirtualScirptAlias相似,但它是从请求到达的IP地址那里,构造CGI脚本目录的路径。


/*由于mod_vhost_aliases在请求到达服务器时构造动态主机路径,所以DocumentRoot和ScriptAlias实际上是根据客户尝试请求的虚拟主机进行变化的变量,所以在httpd.conf当中,不必针对每个虚拟主机明确指定这两个指令。实际上不需要在httpd.conf中指定任何虚拟主机,网管唯一要做的是,确保在服务器上针对每个虚拟主机都存在一个目录,如果该目录不存在,客户端将收到一个not found的信息。*/

例子:
环境:本机IP:192。168。9。254
一、增加IP地址
方法:
#ifconfig 192.168.9.1
#ifconfig 192.168.9.2

// 重新启动后失效,若希望永远生效,请增加eth0:0和eth0:1.以192.168.9.1为例,%1=192,%2=168,%=9,%4=1

二、修改httpd.conf文件
UseCanonicalName DNS
VirtualDocumentRootIP /home/httpd/www/%4
VirtualScriptAliasIP /home/httpd/www/cgi-bin/%4
重新启动apache。
三、在相关位置建立以下目录
#mkdir /home/httpd/www
#mkdir /home/httpd/www/1
#mkdir /home/httpd/www/cgi-bin/1
//创建到192。168。9。1的虚拟主机网页根目录
#mkdir /home/httpd/www/2
#mkdir /home/httpd/www/cgi-bin/2
//创建到192.168.9.2的虚拟主机网页根目录。

三、在DNS中设置,将192.168.9.1解析成 www.163.com
将192.168.9.2解析成 www.263.net
四、可以访问拉。
/*由于IP地址的每个部分可以取1---254之间的数值,所以这个方法可以建立254个基于IP的虚拟主机。也可以做支持254*254 台的虚拟主机,但意义不大。*/
UseCanonicalName on
apahce使用 ServerName和Port生成自指URL,来构造服务器的规范名称。


UseCanonicalName off
apache使用由客户提供的主机头指令的主机名称和端口号为服务器构造自指URL, off经常用于基于名称的动态虚拟主机

UseCanonicalName DNS
用于基于IP的动态虚拟主机。apache使用DNS执行客户连接IP地址搜索时确定的主机名,构造服务器自指URL,可以用在服务器环境,但在基于名字的虚拟主机下不起作用地。
分享到:
评论

相关推荐

    linux下apache虚拟主机的配置方法

    首先,复制现有的虚拟主机配置作为模板,并将其中的监听端口号由80改为8080。例如: ```apacheconf *:8080> # 这里填写新虚拟主机的配置信息 ``` 此步骤确保新的虚拟主机能够在指定的端口上运行。 ### 3. 创建新...

    Linux操作系统下实现FTP虚拟主机的方法

    "Linux操作系统下实现FTP虚拟主机的方法" 在 Linux 操作系统下,实现 FTP 虚拟主机的方法是通过使用软件技术将一台服务器分成多个独立的虚拟主机,每个虚拟主机都具有完整的 Internet 服务器功能。这种方法可以解决...

    php虚拟主机的配置

    实现多个虚拟主机的方法有两种: 方案一:端口区别 在配置文件中添加多个虚拟主机,每个虚拟主机使用不同的端口号。例如: DocumentRoot "D:/phpProject/Web" DirectoryIndex index.html index.php Options ...

    WebSphere WAS+IHS虚拟主机配置

    - **启动和测试**:重启IHS服务器,通过浏览器访问不同URL以测试虚拟主机配置是否成功。 **3. 多端口配置** 在描述中提到的“分别设定不同的访问端口”,这意味着每个虚拟主机可能配置了不同的监听端口。例如,一...

    apache虚拟主机配置

    ### Apache虚拟主机配置详解 #### 一、Apache虚拟主机配置概览 Apache是目前最流行的Web服务器之一,它支持多种类型的虚拟主机配置。通过虚拟主机技术,可以在同一台物理服务器上运行多个不同的网站,这对于节省...

    apache三种虚拟主机的配置

    ### Apache三种虚拟主机配置详解 #### 一、概述 Apache是一款广泛使用的Web服务器软件,它支持多种虚拟主机的配置方式,使得在同一台物理服务器上可以运行多个不同的网站或应用程序。根据给定文件的信息,本文将...

    Tomcat虚拟主机配置

    【Tomcat虚拟主机配置】 Tomcat虚拟主机配置是将一台服务器划分为多个逻辑上的独立主机,每个主机都拥有自己的域名和IP地址,或者共享同一个IP地址,并且能够提供独立的Web服务。这样的设置使得一台物理服务器可以...

    apache配置虚拟主机代码

    为每个虚拟主机配置SSL证书以提供HTTPS连接,确保数据传输的安全。此外,限制对每个站点目录的访问权限,防止恶意用户访问其他站点的文件。 9. **日志文件** 可以通过设置`ErrorLog`和`CustomLog`指令,让每个...

    php+apache虚拟主机配置.rar

    在Apache的配置文件中,你可以创建一个新的虚拟主机配置段。例如: ```apache *:80> ServerName example.com DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example....

    wamp虚拟主机配置教程

    wamp虚拟主机配置教程,手把手都你,是人都会成功滴,哈哈哈

    freeBSD_shell_bash动态生成虚拟主机的配置

    在虚拟主机配置中,Bash脚本可以用来自动化创建和管理多个网站环境。通常,这包括以下几个步骤: 1. **动态生成配置文件**:Bash脚本可以读取输入参数,比如域名、路径、端口号等,然后生成相应的Apache或Nginx配置...

    基于Linux下的Web服务器配置与基于域名的虚拟主机.pdf

    7. httpd服务的重启:重启httpd服务,以便基于域名的虚拟主机配置生效。 8. 测试:打开浏览器,在地址栏中分别输入www.ss.com和www.zz.com,以测试基于域名的虚拟主机配置是否生效。 通过本文档,可以掌握Linux中...

    Tomcat5_x中的虚拟主机配置方法.rar_tomcat_虚拟主机

    本文将详细讲解如何在Tomcat 5.x版本中配置虚拟主机,以便在同一台服务器上运行多个独立的Web应用。 一、虚拟主机的概念 虚拟主机允许在一个物理服务器上设置多个域名或网站,每个域名对应一个独立的应用程序或服务...

    WAS+IHS虚拟主机配置

    ### WAS+IHS虚拟主机配置知识点详解 #### 一、WAS与IHS简介 - **WebSphere Application Server (WAS)**:IBM 提供的一款功能强大的应用服务器,它支持多种 Web 和企业级 Java 应用程序,适用于构建、部署和管理...

    本地机apache配置基于域名的虚拟主机

    以下是一个基本的虚拟主机配置示例: ```apache *:80> ServerAdmin admin@example.com DocumentRoot "/path/to/your/document/root" ServerName mydomain.com ErrorLog "logs/mydomain.com-error_log" ...

    ubuntu下配置apache虚拟主机(原创)

    Ubuntu 下配置 Apache 虚拟主机 在本文中,我们将详细介绍在 Ubuntu 操作系统中配置 Apache 虚拟主机的过程。虚拟主机是指在一台物理服务器上运行多个独立的虚拟服务器,每个虚拟服务器可以有自己的域名、IP 地址和...

    nginx虚拟主机配置

    nginx虚拟主机配置 nginx 虚拟主机配置是指在一台服务器上划分出多个虚拟主机,每个虚拟主机都具有独立的域名和完整的 internet 服务器功能。虚拟主机可以基于 IP 地址或域名来实现,本文将详细介绍基于 IP 地址和...

    XAMPP虚拟主机配置

    你需要一些顶级域名访问方式来访问你本地的项目文件而不是目录方式访问,这时候就需要配置虚拟主机,给你的目录绑定一个域名(本地的话可以通过修改 hosts 文件随便绑定什么域名比如 www.a.com 或者 localdemo)。

Global site tag (gtag.js) - Google Analytics