0

我已經使用jsp/tiles/struts/mysql/tomcat創建了一個Web應用程序。我在Openshift 3控制檯(Openshift在線)https://console.preview.openshift.com/console/上創建了新項目,然後添加了tomcat/mySql。有時候和其他時間我得到了503錯誤,同一頁面按預期工作。我的項目中的任何頁面隨機出現503錯誤。當我收到503錯誤時,我刷新了一些次數,並且它消失了,我的頁面正確顯示。Openshift 3,503錯誤(沒有服務器可用於處理此請求)

錯誤,我看到的是: 「503服務不可用 沒有服務器可以處理這個請求。」

我做了一些研究: 我從這個openshift 2鏈接瞭解什麼: https://blog.openshift.com/how-to-host-your-java-ee-application-with-auto-scaling/

是糾正503錯誤:

SSH into your application gear using rhc ssh --app <app_name> 
Change directory to haproxy/conf 
change the following in haproxy.cfg option httpchk GET/to option httpchk GET /api/v1/ping 
Restart the HAProxy cartridge from your local machine using RHC rhc cartridge-restart --cartridge haproxy 

我不知道它也適用於openshift 3.在openshift 3中,haproxy.log,haproxy.cfg,haproxy/conf或openshift 3中的略有不同。(堅果感謝Warrens的評論,是的,他看到了與HAProxy相關的openshift中的503錯誤)

現在發佈此問題後的1周後: 我得到配額達到錯誤。我能夠構建我的項目,但所有部署都失敗了。我想知道我早些時候(完全或部分)得到的503錯誤與達到的配額有關。我現在應該怎麼做。

捲曲-i本地主機:8080/GEA

HTTP/1.1 302 Found Server: 
Apache-Coyote/1.1 
Location: http://localhost:8080/GEA/ 
Transfer-Encoding: chunked Date: Tue, 11 Apr 2017 18:03:25 GMT 

Tomcat的日誌不顯示任何應用程序錯誤。

準備就緒探頭和活性探頭能幫助我嗎?我還沒有設置他們。 我也不知道如何設置它們。

將縮放幫我(我不知道如何將它設置)

我一定要設置內存/ ...都在允許的最大保證項目運行平穩?

+0

您應完全忽略任何有關''rhc''的文檔,因爲這是OpenShift 2.在OpenShift 3中,事情完全不同。您應該做的第一件事是驗證您的應用程序已啓動並正常運行。要做到這一點,請在Web控制檯中查看該日誌,或者從命令行使用命令「oc日誌」,在命令行中使用「oc get pods」解決該日誌的名稱。另外,這是什麼OpenShift環境?你創建的東西,OpenShift Online,minishift,oc集羣了嗎? –

+0

非常感謝。 – Begineer

回答

0

對我來說,我有類似的情況得到503的有時,有時得到我的實際頁面。原因是因爲你在處理請求的前端有haproxy。根據您的設置,您甚至可能會有一些haproxy豆莢,並且您的請求可能會在一個豆莢之間漏斗。所以在我的情況下,一個吊艙正在工作,另一個沒有工作。

所以基本上

oc get pods -n default 
NAME       READY  STATUS RESTARTS AGE 
docker-registry-7-i02rh   1/1  Running 0   75d 
registry-console-12-wciib  1/1  Running 0   67d 
router-1-533cg     1/1  Running 3   76d 
router-1-9utld     1/1  Running 1   76d 
router-1-uwf64     1/1  Running 1   76d 

正如你可以在我的輸出默認命名空間看到的是我的路由器(HAProxy的)豆莢住的地方。如果我改變該命名空間

oc project default 

然後運行

oc logs -f router-1-533cg 
每個你很可能會發現,在表現不好的一個sepcific艙艙體

。您可以簡單地刪除,複製控制器將創建一個新的

+0

是的,我正在使用openshift 3.4 –

+0

至於調試,如果你在本地主機上獲得404時,當你rsh進入框中,那麼還有一些其他問題。那是正確的終點嗎?看起來像你的應用中的根環境,如果它的tomcat。應用程序是否實際部署在根目錄下?根據您使用的tomcat映像的不同,查看/ opt/webserver/webapps /您應該看到您的應用程序部署爲什麼文件夾「Context」。 「curl -i http:// localhost:8080/。 –

+0

Warren,curl -i localhost:8080/GEA HTTP/1.1 302發現好嗎? – Begineer

相關問題