centos7如何通过systemctl启动springboot服务代替java -jar方式启动
背景:以前启动jar包都是通过java -jar,后面了解到一种注册服务式启动jar包的方式,所以做个记录。
注意:我在写该篇博客的时候,给脚本代码都加了#注释来解释该行脚本命令的意思,所以可能出现复制该篇博客脚本代码后启动不了的问题(把#和一些不应该有的空格去掉应该就可以了,有问题可以评论滴我。)
我们项目的目录是这样:
/opt/webapps/financing/financing-api 在这个目录下有如下配置。
接下来开始讲怎么通过systemctl启动springboot服务启动
1、首先进入centos /etc/systemd/system/目录
cd /etc/systemd/system/
2、新建一个springboot项目名.servie文件(我这里是financing-api项目,所以新建financing-api.service文件)
financing-api.service内容如下
[Unit] #定义了服务的名称、描述、依赖关系等信息。 Description=financing-api server After=network.target remote-fs.target nss-lookup.target [Service] #定义了服务的类型、用户、工作目录、启动命令等信息。 Type=forking User=root EnvironmentFile=/opt/webapps/financing/financing-api/config/financing-api.env #一定要有该env配置。具体env的目录根据自己服务器实际部署情况来修改。 WorkingDirectory=/opt/webapps/financing/financing-api # ExecStartPre=/bin/sh -c 'if [ ! -d ${LOG_PATH} ]; then mkdir ${LOG_PATH}; fi'。#定义了在启动服务之前要执行的命令。 ExecStart=/bin/sh -c '${JAVA_HOME}/java ${JVM_OPTIONS} -jar -Dloader.path=${APP_HOME}/lib ${REMOTE_DEBUG_OPTS} ${APP_HOME}/${JAR_NAME} > /dev/null 2>&1 &' #定义了启动服务的命令。 ExecReload=/bin/kill -s HUP $MAINPID #定义了重启服务的命令 ExecStop=/bin/kill -s QUIT $MAINPID #定义了停止服务的命令 [Install] WantedBy=multi-user.target #定义了服务的启动方式。
3、进入env所在的目录,配置一个financing-api.env文件
financing-api.env内容如下
JAR_NAME=financing-core-1.0.0.jar #指定jar包名 PROFILE=dev #指定配置文件的模式 PROJ_HOME=/opt/webapps/financing/financing-api #项目目录 APP_HOME=$PROJ_HOME LOG_PATH=$PROJ_HOME/logs #日志目录 GC_LOG_OPTS="-XX:+PrintGC -XX:+PrintGCDetails -Xloggc:/opt/webapps/financing/financing-api/logs/gc.log"#垃圾回收日志文件 GC_OPTS=-XX:+UseG1GC #垃圾回收类型 REMOTE_DEBUG_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 #远程断点配置 默认5005 OTHER_OPTS=-Dspring.profiles.active=dev #指定jar包启动的配置文件 JVM_OPTIONS="-server -Xms512m -Xmx512m $GC_OPTS $GC_LOG_OPTS $OTHER_OPTS" #这里的xms 和xmx根据自己服务器实际情况配置 JAVA_HOME=/usr/install/java/bin #服务器上java_home的目录
4、部署启动脚本 start.sh,一般在jar包同目录
#!/usr/bin/env bash # 执行前需要加可执行权限: chmod +x restart.sh systemctl restart financing-api echo "financing-api服务重启完成." tail -200f logs/log_info.log
5、执行启动脚本即可通过 systemctl命令启动springboot服务
到此这篇关于centos7通过systemctl启动springboot服务代替java -jar方式启动的文章就介绍到这了,更多相关systemctl启动springboot服务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Springboot工具类ReflectionUtils使用教程
这篇文章主要介绍了Springboot内置的工具类之ReflectionUtils的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧2022-12-12MyBatisPlus-QueryWrapper多条件查询及修改方式
这篇文章主要介绍了MyBatisPlus-QueryWrapper多条件查询及修改方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-06-06Spring Security OAuth2 实现登录互踢的示例代码
这篇文章主要介绍了Spring Security OAuth2实现登录互踢的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-04-04BufferedReader中read()方法和readLine()方法的使用
这篇文章主要介绍了BufferedReader中read()方法和readLine()方法的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-04-04
最新评论