2013-05-21 129 views
0

在窗口平臺上,我從eclipse juno運行tomcat。但在Linux我面臨這個問題無法從eclipse juno啓動Apache tomcat在端口80的linux上

當我從eclipse運行web項目時,我得到了這條錯誤消息,而從命令行我可以運行tomcat。

錯誤消息是 - Tomcat v7.0所需的端口80本地主機 服務器已在使用中。服務器可能已經在另一個 進程中運行,或者系統進程可能正在使用該端口。要啓動此 服務器,您需要停止另一個進程或更改端口號碼 (s)。

我已經在使用的nmap等命令來檢查我的端口

主要的一點是,當我運行命令行的tomcat然後啓動,但是當我開始這個從日食我得到這個錯誤

回答

0

首先,再次檢查端口是否確實在使用中。我相信你有一個Apache Web服務器(httpd)正在使用這個端口。

其次,在Linux上,只有在root用戶下運行的進程可以使用低端口(低於100)。也許當你從命令行運行tomcat時,你會以root身份運行它(例如使用sudo),但是當你從eclipse運行它時,它會在你的用戶下運行。

解決方案是: 開發使用其他端口。例如8080

對於生產: 使用特殊的用戶帳戶(不是root)來運行tomcat。例如。用戶名爲tomcat。將其配置爲偵聽端口8080.在配置爲偵聽端口8080的root用戶下運行Apache Web服務器(httpd),並配置爲使用mod_jk連接到tomcat。這是最安全可靠的常用配置。

+0

我已將Apache Web服務器端口從80更改爲90,您是對的我以root用戶身份運行tomcat,是否可以從端口80的eclipse運行tomcat,這是應用程序所需的 – Yogesh

0

我相信linux自帶了一個Apache服務器,它可能在80端口上運行。所以當你嘗試在同一個端口上運行tomcat時,它已經在使用抱怨端口了。要確定是否安裝了apache,可以使用rpm命令。我相信這是rpm -qa會告訴你所有安裝的軟件包。現在至於apache文件的目錄,通常是 /var/www/htdocs。

0

從命令行啓動Tomcat後,您還停止了它嗎?因爲如果Tomcat仍然從命令行運行,則會在嘗試從eclipse中再次啓動時出現此錯誤。

在80端口上運行Tomcat是否正確?這不會在Linux環境中工作,因爲Linux提出了一個監聽端口80的Apache Web服務器。