簡體   English   中英

如何使用Spring Boot微服務extern log4j.properties文件並將其作為Linux服務運行?

[英]How to Extern log4j.properties file with Spring Boot Microservice and Run It As a Linux Service?

有一個基於Spring Boot(1.5.4.RELEASE)的微服務,我將jar部署到AWS EC實例(Linux環境)。 現在,我還部署了一個外部log4j.properties文件,所以我必須像這樣啟動微服務:

java -jar myapp.jar -Dlogging.config=/path/to/log4j.properties

如何將此Spring Boot微服務配置為Linux服務,我可以使用這些標志啟動和停止它:

sudo service myapp start | stop | status | restart

非常感謝你。

使用指向springboot應用程序的符號鏈接,您可以將其作為服務進行控制......

sudo ln -s /var/myapp/myapp.jar /etc/init.d/myapp

application.properties放入myapp文件夾,您可以覆蓋應用程序中捆綁的應用程序。 這樣您就不需要使用命令行開關。 只需將日志配置的路徑指定為其內部屬性鍵logging.config值。

但請注意,此解決方案並非真正的最佳實踐。 一旦你在生產中運行了一大堆服務,你可能更願意采用Spring cloud配置的內容來進行外部化配置,你可能還希望將日志聚合在一個集中的服務上,以便對所有服務進行概述。您的服務在一個地方登錄。

根據spring-boot部署

完全可執行的jar可以像任何其他可執行二進制文件一樣執行,也可以使用init.dsystemd注冊

確保使用下面的插件構建應用程序(共享鏈接中的gradle版本):

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <executable>true</executable>
    </configuration>
</plugin>

並且如Jörg所示,在init.d中創建一個符號鏈接:

sudo ln -s /var/myapp/myapp.jar /etc/init.d/myapp

那是簡化版:)

更多問題,您需要自定義init,這可以通過conf文件完成 - 所有這些都在文檔中指定。

JARFILEAPP_NAME ,可以使用.conf文件配置設置。 該文件位於jar文件旁邊,並且具有相同的名稱,但后綴為.conf而不是.jar。 例如,名為/var/myapp/myapp.jar的jar將使用名為/var/myapp/myapp.conf的配置文件。

例如: myapp.conf

JAVA_OPTS=-Xmx1024M
LOG_FOLDER=/custom/log/folder

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM