注意
這里以打出的包名為 spring.jar,運(yùn)行的用戶為 apprun 為例,
以下所有的文件均需apprun有權(quán)限
開發(fā)在pom中作如下配置
<build>
<finalName>spring</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
</plugins>
</build>
打包命令
mvn clean package -Dmaven.test.skip=true
將 java 包上傳到服務(wù)器,在jar包同級目錄中創(chuàng)建 spring.conf 文件,并填寫如下配置;
-Xmx和-Xms可以根據(jù)服務(wù)器的內(nèi)存大小修改;
RUN_ARGS 中 location 后面路徑可以根據(jù)需要改變
# 指定java home的路徑
JAVA_HOME=/opt/soft/jdk1.8/
# 指定虛機(jī)機(jī)參數(shù)
JAVA_OPTS="-server -Xmx100m -Xms100m -Xloggc:/apprun/log/pandora_gc.log -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=utf-8"
# 指定spring boot運(yùn)行參數(shù)
RUN_ARGS="--spring.config.location=/apprun/application-prod.properties"
創(chuàng)建Java命令連接(Optional,非必須)
# 創(chuàng)建java 連接 (需要 sudo 權(quán)限)
sudo ln -s /apprun/jdk/bin/java /sbin/java
在 /etc/systemd/system 目錄下創(chuàng)建服務(wù) spring.service
[Unit]
# 服務(wù)描述
Description=spring
# 指定了在systemd在執(zhí)行完那些target之后再啟動(dòng)該服務(wù)
#Documentation=https://www.baidu.com
After=syslog.target
[Service]
User=apprun
# 指定 jar 包路徑
ExecStart=/apprun/spring.jar
SuccessExitStatus=143
Restart=always
PrivateTmp=true
[Install]
# 多用戶
WantedBy=multi-user.target
修改權(quán)限
chown -R apprun.apprun /apprun/spring.jar
chown -R apprun.apprun /apprun/spring.conf
chmod 755 /apprun/spring.jar
重載服務(wù)信息
# reload 服務(wù)
systemctl daemon-reload
啟動(dòng)服務(wù)
systemctl start spring.service
停止服務(wù)
systemctl stop spring.service
重啟服務(wù)
systemctl restart spring.service
開啟開機(jī)啟動(dòng)
systemctl enable spring.service
查看系統(tǒng)進(jìn)程
systemctl status spring.service
查看啟動(dòng)日志(報(bào)錯(cuò))
journalctl -u spring.service
注意如果啟動(dòng)失敗得話需要查看所有文件是否有apprun用戶權(quán)限