![](/img/trans.png)
[英]The server.port property of a Spring Boot web application is ignored by Docker Engine on Windows
[英]Spring Boot + Tomcat ignoring server.port property?
我目前正在嘗試通過一些小的配置更改來啟動和運行 Spring Boot 應用程序,但我似乎無法讓端口正確監聽。 tomcat 實例加載的 server.xml 似乎覆蓋了我的 application.properties 文件指定的任何內容。
應用程序屬性:
logging.level.app = TRACE
logging.file = /tmp/my-server.log
server.port = 8081
當我將它部署到我的 /usr/local/tomcat/webapps 時,我可以訪問服務器,但只能在端口 8080 上。它似乎忽略了 server.port 屬性。 我相信服務器正在正確獲取屬性文件,因為日志記錄正確轉到 /tmp/my-server.log
最終目標是讓服務器在 Amazon Elastic Beanstalk 中運行時偵聽我選擇的端口。 我可以更新負載均衡器上的端口,但如果服務器只偵聽它的預配置端口,那沒關系。
提前感謝您的幫助!
OSX Yosemite、Tomcat 8.0.24、Spring Boot v1.2.4
只有在使用嵌入式 Tomcat 時,Spring Boot 屬性(如server.port
才會生效。 也就是說,如果您通過在其中執行帶有SpringApplication.run()
main
方法或通過創建一個可執行 JAR 並使用java -jar
啟動它來啟動您的應用程序。
當您將應用程序作為 WAR 存檔部署到獨立的 Tomcat 中時,您必須以傳統方式通過編輯server.xml
和其他可能的配置文件來配置 Tomcat。
server.port屬性僅用於嵌入式應用程序服務器。 如果要使用獨立的,則需要在應用程序服務器本身上進行配置。 在 tomcat 的情況下,如果在 server.xml 文件中指定。
如果您想在 AWS Elastic Beanstalk 上運行應用程序,則在創建環境時您可以指定您想要一個 webserver + tomcat。
這樣你就不用擔心端口了。 亞馬遜會為您處理。
可以在配置文件中編輯端口:
{Tomcat installation folder}\\conf\\server.xml
<!-- Define a non-SSL HTTP/1.1 Connector on port 8180 --> <Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />
或者<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="8181" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.