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。
此時再試下,帶端口和不帶端口是不是都一樣了呢,至此,全能主機配置成功了。