通过本文您可以架设一个支持asp、asp.net、php、jsp的全能主机。我们利用tomcat来运行JSP,用IIS和Apache来运行asp、asp.net、php,实现不带端口访问网站。
举例说明:假设我们有三个网站,分别在IIS、tomcat和Apache上运行,这时候服务器上的IIS、tomcat和Apache冲突,因为只有一个80端口,当然你可以修改IIS、tomcat和Apache的端口。如:8080,但是访问修改的那个站点是需要加上端口的,例如:(http://域名:8080)
解决方案,由apache将相应程序转到tomcat或iis来处理,步骤如下:
使用apache来代理IIS和tomcat,从而达到虚拟的Apache和IIS、tomcat的整合。即当用户请求域名A/域名B/域名C,统一由Apache来解释,然后Apache将virualhost自动转向给IIS或者tomcat。
1、将IIS端口设置为8080。此处略。访问http://域名A:8080即可看到IIS中的asp站点。
2、安装tomcat,将端口设置为:8081并配置conf目录下的server.xml 方式1: </Host> <Host name="域名B:8081" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="程序路径" debug="0" reloadable="true"></Context> <Context path="/count" docBase="程序路径" debug="0" reloadable="true"></Context> </Host>
方式2: </Host> <Host name="域名B:8081" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" docBase="程序路径" /> </Host>
*以上方式任选其一
3、安装Apache,这里下载的是apache2.2,注意,请下载msi的win32程序,因为操作系统是Windows.安装后请将Apache端口设置为80.安装的最后有提示,此处细节省略。
3、开始配置虚拟主机。找到apache安装目录下conf下的httpd.conf,用记事本打开。
找到这四行,将注释去掉(即去掉每行前面的#号) Include conf/extra/httpd-vhosts.conf LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
在conf/extrahttpd-vhosts.conf 文件加上 NameVirtualHost 服务器IP地址:80
<VIRTUALHOST 服务器IP地址:80> ServerAdmin me@xxx.cn
ServerName 域名A DefaultLanguage zh-CN AddDefaultCharset GB2312 ProxyPass / http://域名A:8080/ ProxyPassReverse / http://域名A:8080/ </VIRTUALHOST>
NameVirtualHost 服务器IP地址:80
<VIRTUALHOST 服务器IP地址:80> ServerAdmin me@xxx.cn ServerName 域名B DefaultLanguage zh-CN AddDefaultCharset GB2312 ProxyPass / http://域名B:8081/ ProxyPassReverse / http://域名B:8081/ </VIRTUALHOST>
上述代码就是将Apache的请求转向了IIS或者tomcat,保存文件后,重新启动Apache。
此时再试下,带端口和不带端口是不是都一样了呢,至此,全能主机配置成功了。