Apache和Tomcat公用80端口


Apache和Tomcat公用80端口,原理主要利用apache的代理。

需求:服務器已經存在了很多PHP項目,現在我新寫的javaWeb項目要部署到同一服務器中新安裝的Tomcat里面去,並且可以用域名進行訪問。

           因為用域名再加8080端口訪問有點low,所以就去做了如下幾步改變:

第一步:啟用apache的代理模塊(修改httpd.conf配置)

1.首先我在Apache\conf目錄下面找到httpd.conf文件,

2.打開該文件依次找到以下幾行代碼(它們可能不是挨着的,用Ctrl+F):

#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so 

3.然后把每行代碼前面的“#”號去掉,這樣就打開了apache的代理模塊了

第二步:然后建立一個虛擬主機

還是在httpd.conf添加以下標簽(找個自己覺得舒服的位置.0.0)

<VirtualHost *:80> 
   ServerName www.a.com 
   ProxyPass / http://www.a.com:8080/ 
   ProxyPassReverse / http://www.a.com:8080/
</VirtualHost> 

www.a.com 處是你的域名,localhost,IP都可以

注意:

tomcat的server.xml文件里:

1.還是用原來的8080端口

2.Host標簽中的要加上Context標簽,里面寫好項目名

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
    <Context path="" docBase="項目名" debug="0" reloadable="true" caseSensitive="true" />
</Host>

 

其他辦法,開拓思維:

其他軟件共用80端口也是同理的,比如:apache和IIS兩種軟件,

實在不行,還有其他辦法:

1.nginx也可以同理實現,缺點:如果安裝nginx之前,服務器就有了其他項目,那么需要刪除掉站點,安裝好了再重新建立站點,怕不是在逗我玩?

2.IIS下建立站點?這種方法只是寫一個html,我試了許久,不知道這個htm該放在哪里,所以沒成功

3.有錢人,再買個服務器,哈哈哈

感謝:

解決方法靈感來源於這兩篇文章

apache和tomcat公用80端口

域名帶端口的解決辦法

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM