2012-03-04 29 views
1

我在我的本地機器上安裝了tomcat。我在server.xml中看到它,其中我有以下條目即使它在tomcat中是默認端口,也會獲取沒有端口號的錯誤?

<Connector executor="tomcatThreadPool" 
      port="${http.port}" 
      protocol="HTTP/1.1" 
      connectionTimeout="20000" 
      redirectPort="${https.port}" 
      acceptCount="100" 
      maxKeepAliveRequests="15"/> 

其中,catalina.properties中的http.port值爲8080。

但每次我嘗試訪問我的應用程序時,它的網址http://localhost/myApp我得到錯誤 無法連接到本地主機,但它工作正常http://localhost:8080/myApp。我不明白爲什麼當端口8080已經是默認端口時,它會期待 ?我該怎麼做才能不必提及端口?

回答

2

當您在瀏覽器的地址欄寫http://localhost/myApp,請求總是轉到端口80,而不是端口8080。所以默認是80端口。對於http://localhost/myApp工作,你需要安裝類似Apache HTTP Server

然後,您可以使用連接器(如mod_jk或mod_proxy)將其配置爲使用http://localhost/myAppi而不是http://localhost:8080/myApp。因此,有什麼要求端口80可以自動轉向到端口8080。 一旦你將下載mod_jk,只需將文件mod_jk.so提取到Apache HTTP Server的模塊文件夾。

希望這裏寫的步驟How to Configure Apache HTTP Server with Apache Tomcat,可能會幫助你做到這一點。

+0

如果簡單地改變http.port在catalina.properties值至80,而不是8080。它應該工作的權利? – 2012-03-04 13:46:06

+0

你是否試過這樣做?我想它不會'工作。我忘了爲什麼我必須做這件事,啓動網站,我現在正在使用。這就是我所做的工作。 – 2012-03-04 13:49:22

+0

感謝gagandeep。有效。 – 2012-03-04 14:09:03

1

在Windows平臺上,您只需將server.xml中的端口號從8080更改爲80即可。

上述情況在Unix/Linux環境下並非如此。更改端口號可能適用於Windows,但我認爲它可能在Unix/Solaris上稍微有些棘手。

在UNIX下所有端口< 1024是「特權」端口。只有root才能打開一個特權端口。這仍然是可能的,但請記住,它不像在Unix上更改端口號那麼簡單。

對此有許多解決方法。

http://raibledesigns.com/rd/entry/how_to_run_tomcat_on

http://mihail.stoynov.com/2011/04/04/howto-start-tomcat-on-port-80-without-root-privileges/

http://java-notes.com/

http://www.klawitter.de/tomcat80.html

+0

+1,我喜歡這個信息部分,因爲一旦我嘗試了很難讓我的Tomcat與Apache HTTP Server一起工作,LOL我知道沒有適當的指導,做這種事情有多困難,我仔細閱讀了文檔一百萬次,但似乎與這種情況不太相關,但您的信息很有價值:-) – 2012-05-15 17:40:42