====== 同一IP使用多域名对应多个网站的方法 ======
如果您的Apache的WEB服务器仅有一个ip ,却需要服务多个域名(实际是多个网站的服务)。那么,实现的方法是什么呢?本文将告诉你答案。(你还可以通过对本文中的代码进行修改,来实现不同域名使用相同IP、相同端口或者相同IP、不同端口的功能)。\\
比如你希望使用同一台web服务器来同时运行www.deerol.com与www.163.com,那么你可以在Apache的配置文件httpd.conf中(一般位于/etc/httpd/conf或/usr/local/apache/conf目录下),添加以下内容:
以下是服务器配置文件(Server configuration)httpd.conf中需要添加的信息
# Ensure that Apache listens on port 80
Listen 80
# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80
DocumentRoot /www/deerol_com
ServerName www.deerol.com
# Other directives here
#配置域名的目录访问权限
Options Indexes FollowSymLinks
allow from all
DocumentRoot /www/163_com
ServerName www.163.com
# Other directives here
#配置域名的目录访问权限
Options Indexes FollowSymLinks
allow from all
·以上代码应该加入到Apache配置文件httpd.conf中的类似代码的后面;\\
·DocumentRoot表示网站根目录,ServerName表示需要服务的域名,80表示Apache监听80端口\\
在你正确写入以上代码之后,apache会就用户访问的域名对应配置中的ServerName选择合适的web目录输出html代码。以上设置中第一项(即ServerName www.deerol.com)是默认选项。若用户访问所指定的域名不符合所有条目时采用默认项,即指向www.deerol.com。
在配置时可能遇到的场景:\\
1.使用域名加端口访问\\
如果需要带端口访问(这种情况很少,一般会在测试时用到)如:www.domain.com:8081 这时在配置 后,还需要添加对该端口的监听Listen 8081\\
2.如果服务器上除了Apache服务外还装了IIS(运行asp,asp.NET程序),Tomcat(运行Java,jsp程序)服务该如何配置?\\
一般的我们会把Apache默认为80端口,IIS可以设置为81端口,Tomcat设置为8080端口。假设有一jsp程序,在服务器本地配置时我们可以通过http://localhost:8080/document访问。那如何配置通过域名访问到该地址呢?
ProxyPreserveHost On
ServerName yourdomain.com
DirectoryIndex index.jsp
ProxyPass / http://localhost:8080/KBoom/
ProxyPassReverse / http://localhost:8080/KBoom/
这里我们注意到使用了代理访问。首先开启代理支持ProxyPreserveHost On,然后再配置正向代理和反向代理 ProxyPass / http://localhost:8080/KBoom (kboom为虚拟目录)
原文:http://blog.csdn.net/zhanglei5415/article/details/6821066