centos7後臺服務部署jar包

wzh0717發表於2018-12-10

centos7 服務部署jar包

centos7 服務介紹

CentOS7的服務systemctl指令碼存放在:/usr/lib/systemd/,有系統(system)和使用者(user)之分,
每一個服務以.service結尾,一般會分為3部分:[Unit]、[Service]和[Install],具體內容如下:

[Unit]
Description=xiyoulibapi
After=network.target remote-fs.target nss-lookup.target
 
[Service]
Type=forking
PIDFile=/node.js/pid
ExecStart=/usr/local/bin/forever start /node.js/xiyoulib/bin/www
ExecReload=/usr/local/bin/forever restart /node.js/xiyoulib/bin/www
ExecStop=/usr/local/bin/forever stop /node.js/xiyoulib/bin/www
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target
  1. [Unit]部分主要是對這個服務的說明,內容包括Description和After,Description用於描述服務,After用於描述服務類別
  2. [Service]部分是服務的關鍵,是服務的一些具體執行引數的設定,這裡Type=forking是後臺執行的形式,PIDFile為存放PID的檔案路徑,ExecStart為服務的具體執行命令,ExecReload為重啟命令,ExecStop為停止命令,PrivateTmp=True表示給服務分配獨立的臨時空間,注意:[Service]部分的啟動、重啟、停止命令全部要求使用絕對路徑,使用相對路徑則會報錯!
  3. [Install]部分是服務安裝的相關設定,可設定為多使用者的

jar包部署

[Unit]
Description=myapp service
After=syslog.target

[Service]
Type=simple
ExecStart=/usr/bin/java -Xms1024m -Xmx1024m -DSERVICE_LOG_FOLDER=/data/logs -jar /usr/local/software/myapp/myapp.jar --spring.config.location=/usr/local/software/myapp/bootstrap.yml
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
  • DSERVICE_LOG_FOLDER 日誌輸出目錄
  • spring.config.location 初始配置檔案
  1. 啟動 systemctl start myapp
  2. 停止 systemctl stop myapp
  3. 重啟 systemctl restart myapp
  4. 檢視日誌 journalctl -u myapp

相關文章