Apache IIS Tomcat共存,配置全能服務器

  • 2019 年 12 月 6 日
  • 筆記

通過本文您可以架設一個支持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 [email protected]

ServerName 域名A DefaultLanguage zh-CN AddDefaultCharset GB2312 ProxyPass / http://域名A:8080/ ProxyPassReverse / http://域名A:8080/ </VIRTUALHOST>

NameVirtualHost 服務器IP地址:80

<VIRTUALHOST 服務器IP地址:80> ServerAdmin [email protected] ServerName 域名B DefaultLanguage zh-CN AddDefaultCharset GB2312 ProxyPass / http://域名B:8081/ ProxyPassReverse / http://域名B:8081/ </VIRTUALHOST>

上述代碼就是將Apache的請求轉向了IIS或者tomcat,保存文件後,重新啟動Apache。

此時再試下,帶端口和不帶端口是不是都一樣了呢,至此,全能主機配置成功了。