今天,我已通過Jenkins CI將應用程序部署到我們的生產應用程序服務器GlassfishV3到autodeploy文件夾。應用程序服務器崩潰了,我無法恢復。java.net.BindException:Glassfish 3.1中的範圍內沒有空閒端口
我的目標是在部署應用程序之前啓動和運行服務器。這是我做了什麼:
- 首先查找進程的PID運行在端口4848:nestat -nlept
- 然後通過做殺-9 PID
- 殺PID刪除WAR文件Jenkinks只是放在autodeploy目錄中,以防萬一,如果這是問題。
- 通過執行./asadmin start-domain domain1再次啓動服務器
- 服務器需要FOREVER才能啓動!事實上,它永遠不會成功啓動,因爲我無法訪問4848的管理控制檯或任何其他正在運行的應用程序。但是,它留下一個進程運行在4848.
- 我看着jvm.log和server.log,我發現一個java.net.BindException:範圍內沒有空閒端口.........
所以我的問題如下:
- 你知道是怎麼回事?
- 你知道如何解決它嗎?
- 你知道一種加速./asadmin start-domain domain1進程的方法嗎?
注意:在我們的QA應用服務器(相同版本,相同操作系統,Same Java,Same Grails)中,它不會發生。真的對這個問題感到沮喪。
非常感謝您的幫助。任何幫助將非常感謝,因爲這是一個生產問題,有幾個應用程序已經停了幾個小時。
- 達里奧
服務器已經回來了,但我沒有做什麼特別的只是重新啓動服務器。 現在我試圖通過GUI界面部署應用程序,並且出現內存不足錯誤。 如何增加Glassfish3的堆大小? – Viriato
我以前沒有用過glassfish,我正在切換到它。因此,如果您不確定glassfish特定的環境變量,我的猜測是設置JAVA_OPTS。 –