2 回答

TA貢獻(xiàn)1852條經(jīng)驗(yàn) 獲得超7個(gè)贊
您的問(wèn)題是 Tomcat 在錯(cuò)誤的端口上啟動(dòng)。從你的日志來(lái)看...
2019-09-26T17:51:18.386+07:00?[APP/PROC/WEB/0]?[OUT]?2019-09-26?10:51:18.386?INFO?18?---?[?main]?o.s.b.w.embedded.tomcat.TomcatWebServer?:?Tomcat?initialized?with?port(s):?8202?(http)
很明顯,它是在端口 8202 上啟動(dòng)的。這會(huì)破壞平臺(tái)運(yùn)行狀況檢查,因?yàn)槠脚_(tái)要求您在端口 8080 上啟動(dòng)應(yīng)用程序。由于應(yīng)用程序沒(méi)有偵聽(tīng)請(qǐng)求的端口,因此運(yùn)行狀況檢查無(wú)法成功完成,Cloud Foundry 必須假設(shè)您的應(yīng)用程序從未啟動(dòng),因此它會(huì)嘗試重新啟動(dòng)應(yīng)用程序,希望它下次能夠正常工作。不幸的是,這是一個(gè)配置錯(cuò)誤,因此它永遠(yuǎn)不會(huì)通過(guò)重新啟動(dòng)來(lái)修復(fù),因此會(huì)永遠(yuǎn)循環(huán)。
至于為什么您的應(yīng)用程序在端口 8202 上啟動(dòng),目前尚不清楚。我沒(méi)有看到它在您指定的 application.yml 中設(shè)置,但它可能在其他地方設(shè)置。
對(duì)于 Spring Boot,您正在尋找server.port
設(shè)置。它可以在許多地方設(shè)置,包括 application.properties、application.yml,作為 env 變量或系統(tǒng)屬性。需要將其設(shè)置為 8080,或者更好的$PORT
是由 Cloud Foundry 設(shè)置的環(huán)境變量,并包含應(yīng)用程序應(yīng)偵聽(tīng)的預(yù)期端口。(附注,Java 構(gòu)建包應(yīng)該為您配置此選項(xiàng),除非您覆蓋啟動(dòng)命令或執(zhí)行某些操作來(lái)更改其默認(rèn)行為)。
當(dāng) Tomcat 報(bào)告它已在端口 8080 上啟動(dòng)并且運(yùn)行狀況檢查通過(guò)時(shí),您就會(huì)知道這是正確的。
希望有幫助!

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超8個(gè)贊
我遇到了同樣的問(wèn)題,然后我意識(shí)到該屬性server.port=8083
意外地傳播到了部署的環(huán)境中。我確保僅在本地計(jì)算機(jī)上運(yùn)行時(shí)設(shè)置此屬性,并且我的問(wèn)題得到解決。
添加回答
舉報(bào)