一、命令启动
1、启动命令
java -jar app.jar
2、后台运行
nohup java -jar app.jar >/dev/null 2>&1 &
nohup java -Xms512M -Xmx512M -jar app.jar --server.port=9080 spring.profiles.active=prod >nohup.out 2>&1 &
二、脚本启动
1、简单脚本
vi start.sh
#!/bin/bash
#自定义
RESOURCE_NAME=test-server
SERVER_PORT=8080
#停止服务
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
#不输出启动日志
nohup java -jar $RESOURCE_NAME.jar
--server.port=$SERVER_PORT
--spring.profiles.active=prod
>/dev/null 2>&1 &
#不输出日志
#>/dev/null 2>&1 &
#输出错误日志
#>/dev/null 2>nohup_err.out &
#输出全部日志
#>nohup.out 2>&1 &
echo $RESOURCE_NAME Application started successfully
chmod 775 start.sh
2、升级脚本
vi app.sh
#!/bin/sh
# ./app.sh start 启动 stop 停止 restart 重启 status 状态
AppName=app-server.jar
#应用端口
SERVER_PORT=8080
# JVM参数
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 "33[0;31m 未输入操作名 33[0m 33[0;34m {start|stop|restart|status} 33[0m"
exit 1
fi
if [ "$AppName" = "" ];
then
echo -e "33[0;31m 未输入应用名 33[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、开机启动
方式一
2.给脚本app-server–auto.sh和jar包app-server.jar 添加权限
sudo chmod +x /etc/init.d/app-server-auto.sh
sudo chmod +x /home/xxx/app-server.jar
3.添加到chkconfig 并把chkconfig作为系统服务 然后设置开机自启
#添加为系统服务
sudo chkconfig --add app-server-auto.sh
#设置为开机启动
sudo chkconfig app-server-auto.sh on
# 启动服务 查看脚本是否正确
sudo service app-server-auto.sh start
方式二
vi /etc/rc.d/rc.local
2、拷贝以下内容
source /etc/profile && cd /home/hello/application/app-server && ./start.sh
三、注册服务
1、创建服务目录
#创建目录
mkdir /var/app
2、创建应用启动用户并授权
#创建组
getent group app|| groupadd -r app
#创建用户
getent passwd app || useradd -r -d /opt -s /bin/nologin -g app app
3、更改文件夹权限
chown -R app:app /var/app
4、注册应用服务
在/usr/lib/systemd/system目录下增加app.service,目录必须是绝对目录
vi /usr/lib/systemd/system/app.service
拷贝以下内容
[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、管理命令
#配置开机启动
systemctl enable app
#删除开机启动
systemctl disable app
#启动
systemctl start app
#停止
systemctl stop app
#重启
systemctl restart app
查看启动状态
systemctl status app
#刷新服务
systemctl daemon-reload
#查看日志
journalctl -u springboot.service
推荐一个免费的pdf转换网站,包含pdf转word、pdf拆分等功能。
PDF转换网站http://test.aipaca–cbec.com/index
原文地址:https://blog.csdn.net/sundehui01/article/details/131980461
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_27628.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。