準(zhǔn)備啟動(dòng)jar包,app.jar放入指定目錄。
一、命令啟動(dòng)
1、啟動(dòng)命令
java -jar app.jar
2、后臺(tái)運(yùn)行
nohup java -jar app.jar >/dev/null 2>&1 &
?加入配置參數(shù)命令
nohup java -Xms512M -Xmx512M -jar app.jar --server.port=9080 spring.profiles.active=prod >nohup.out 2>&1 &
?隨著配置參數(shù)越來越多,可創(chuàng)建啟動(dòng)腳本一鍵啟動(dòng)。
二、腳本啟動(dòng)
1、簡單腳本
vi start.sh
?拷貝一下內(nèi)容
#!/bin/bash
#自定義
RESOURCE_NAME=test-server
SERVER_PORT=8080
#停止服務(wù)
PID=$(ps -ef | grep $RESOURCE_NAME | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo $RESOURCE_NAME Application is already stopped
else
kill $PID
echo $RESOURCE_NAME Application stopped successfully pid = $PID
fi
#不輸出啟動(dòng)日志
nohup java -jar $RESOURCE_NAME.jar \
--server.port=$SERVER_PORT \
--spring.profiles.active=prod \
>/dev/null 2>&1 &
#不輸出日志
#>/dev/null 2>&1 &
#輸出錯(cuò)誤日志
#>/dev/null 2>nohup_err.out &
#輸出全部日志
#>nohup.out 2>&1 &
echo $RESOURCE_NAME Application started successfully
腳本授權(quán)
chmod 775 start.sh
2、升級(jí)腳本
vi app.sh
拷貝一下內(nèi)容
#!/bin/sh
# ./app.sh start 啟動(dòng) stop 停止 restart 重啟 status 狀態(tài)
AppName=app-server.jar
#應(yīng)用端口
SERVER_PORT=8080
# JVM參數(shù)
JVM_OPTS="-Dname=$AppName -Duser.timezone=Asia/Shanghai -Xms512m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"
if [ "$1" = "" ];
then
echo -e "\033[0;31m 未輸入操作名 \033[0m \033[0;34m {start|stop|restart|status} \033[0m"
exit 1
fi
if [ "$AppName" = "" ];
then
echo -e "\033[0;31m 未輸入應(yīng)用名 \033[0m"
exit 1
fi
function start()
{
PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
if [ x"$PID" != x"" ]; then
echo "$AppName is running..."
else
nohup java $JVM_OPTS -jar $AppName\
--server.port=$SERVER_PORT \
--spring.profiles.active=mysql-test \
--jasypt.encryptor.password=123456 \
> /dev/null 2>&1 &
echo "Start $AppName success..."
fi
}
function stop()
{
echo "Stop $AppName"
PID=""
query(){
PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
}
query
if [ x"$PID" != x"" ]; then
kill -TERM $PID
echo "$AppName (pid:$PID) exiting..."
while [ x"$PID" != x"" ]
do
sleep 1
query
done
echo "$AppName exited."
else
echo "$AppName already stopped."
fi
}
function restart()
{
stop
sleep 2
start
}
function status()
{
PID=`ps -ef |grep java|grep $AppName|grep -v grep|wc -l`
if [ $PID != 0 ];then
echo "$AppName is running..."
else
echo "$AppName is not running..."
fi
}
case $1 in
start)
start;;
stop)
stop;;
restart)
restart;;
status)
status;;
*)
esac
?3、開機(jī)啟動(dòng)
方式一
1、啟動(dòng)腳本拷貝至/etc/rc.d/init.d目錄
注:需要把啟動(dòng)腳本中的路徑都修改成絕對(duì)路徑
2.給腳本app-server-auto.sh和jar包app-server.jar 添加權(quán)限
sudo chmod +x /etc/init.d/app-server-auto.sh
sudo chmod +x /home/xxx/app-server.jar
3.添加到chkconfig 并把chkconfig作為系統(tǒng)服務(wù) 然后設(shè)置開機(jī)自啟
#添加為系統(tǒng)服務(wù)
sudo chkconfig --add app-server-auto.sh
#設(shè)置為開機(jī)啟動(dòng)
sudo chkconfig app-server-auto.sh on
# 啟動(dòng)服務(wù) 查看腳本是否正確
sudo service app-server-auto.sh start
?方式二
1、編輯/etc/rc.d/rc.local文件
vi /etc/rc.d/rc.local
?2、拷貝以下內(nèi)容
source /etc/profile && cd /home/hello/application/app-server && ./start.sh
?重啟機(jī)器就可以測(cè)試了
三、注冊(cè)服務(wù)
1、創(chuàng)建服務(wù)目錄
#創(chuàng)建目錄
mkdir /var/app
2、創(chuàng)建應(yīng)用啟動(dòng)用戶并授權(quán)
#創(chuàng)建組
getent group app|| groupadd -r app
#創(chuàng)建用戶
getent passwd app || useradd -r -d /opt -s /bin/nologin -g app app
3、更改文件夾權(quán)限
chown -R app:app /var/app
4、注冊(cè)應(yīng)用服務(wù)
在/usr/lib/systemd/system目錄下增加app.service,目錄必須是絕對(duì)目錄
vi /usr/lib/systemd/system/app.service
拷貝以下內(nèi)容
[Unit]
Description=App-server description
After=syslog.target
[Service]
User=app
Group=app
ExecStart=/usr/java/jdk1.8.0_202/bin/java -Xms512M -Xmx512M -jar /var/app/app-server.jar
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
刷新命令
systemctl daemon-reload
5、管理命令
#配置開機(jī)啟動(dòng)
systemctl enable app
#刪除開機(jī)啟動(dòng)
systemctl disable app
#啟動(dòng)
systemctl start app
#停止
systemctl stop app
#重啟
systemctl restart app
查看啟動(dòng)狀態(tài)
systemctl status app
#刷新服務(wù)
systemctl daemon-reload
#查看日志
journalctl -u springboot.service
推薦一個(gè)免費(fèi)的pdf轉(zhuǎn)換網(wǎng)站,包含pdf轉(zhuǎn)word、pdf拆分等功能。文章來源:http://www.zghlxwxcb.cn/news/detail-612686.html
PDF轉(zhuǎn)換網(wǎng)站http://test.aipaca-cbec.com/index文章來源地址http://www.zghlxwxcb.cn/news/detail-612686.html
到了這里,關(guān)于Centos部署Springboot項(xiàng)目詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!