centos7下systemctl管理springboot微服務的基礎配置
阿新 • • 發佈:2018-12-31
二. 寫service配置,兩種方式:設定working目錄,springboot會在working目錄下尋找application.yml載入;不設定working目錄,指定springboot配置檔案
2.1 設定working目錄:
vi /lib/systemd/system/test.service
[Unit]
Description=test
[Service]
WorkingDirectory=/usr/local/test
PrivateTmp=true
Restart=always
Type=simple
ExecStart=/usr/local/java/jdk1.8.0 _101/bin/java -jar /usr/local/test/test.jar
ExecStop=/usr/bin/kill -15 $MAINPID
[Install]
WantedBy=multi-user.target
2.2 指定springboot配置檔案目錄
[Unit]
Description=test
[Service]
WorkingDirectory=/usr/local/test
PrivateTmp=true
Restart=always
Type=simple
ExecStart=/usr/local/java/jdk1.8.0_101/bin/java -jar /usr/local/test/test.jar --spring.config.location=/usr/local/test/application.yml
ExecStop=/usr/bin/kill -15 $MAINPID
[Install]
WantedBy=multi-user.target
三. systemctl 管理,讓配置生效。若是修改配置檔案,需要reload:
sudo systemctl daemon-reload
sudo systemctl enable test.service
啟動服務
systemctl start test
四. 在CentOS 7 / RHEL 7的系統中,使用Systemd替代了之前的SysV,因此 /etc/security/limits.conf 檔案的配置作用域縮小了一些。limits.conf的配置,只適用於通過PAM認證登入使用者的資源限制,對systemd的service的資源限制不生效,所以這裡需要在[Service]中配置limits:
[Service]
LimitCORE=infinity
LimitNOFILE=100000
LimitNPROC=100000
執行命令使其生效:
systemctl daemon-reload
systemctl restart test.service
檢視該程序的limits:
cat /proc/PID/limits