<>Spring Boot项目三种启动方式及后台运行详解

<>1 Spring Boot项目三种启动方法

* 运行Application.java类中的Main方法
* 项目管理工具启动
* Maven项目:mvn spring-boot:run
* Gradle项目:gradle run
* 打包成Jar文件启动:java -jar [项目名称].jar
* Maven项目:mvn package,在Target目录下生成Jar包
* Gradle项目:gradle build,在build/libs目录下生成Jar包
<>2 Spring Boot项目后台启动

在项目开发阶段,通常会使用前两种方法启动,而在部署的时候通常会使用第三种方法

然而java -jar [项目名称].jar 命令只能在前台运行项目,当执行其他操作或者关闭SSH会话时,项目运行终止

<>2.1 安装配置nohup命令

nohup作用:使程序在服务器后台执行,执行程序的命令不依赖ssh界面。
用法:nohup 需执行命令 &

* 查询nohup是否安装 which nohup # 查看/usr/bin目录下有没有nohup命令
* 下载安装nohup yum install coreutils
* 查找下载的nohup cd /usr/bin which nohup
* 配置nohup路径 vi ~/.bash_profile # .bash_profile # Get the aliases and
functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment
and startup programs PATH=$PATH:$HOME/bin PATH=$PATH:/usr/bin export PATH
* 立即生效配置 source ~/.bash_profile
* 使用nohup命令 nohup [需要后台执行的命令] &
<>2.2 nohup命令

* 用途:不挂断的运行命令
* 语法:nohup command [Arg...] [&]
* 描述:nohup 命令由需要后台执行的Command命令及其参数[Arg…]组成,忽略所有挂断(SIGHUP)信号。
* 示例:nohup java -jar xxx.jar &
nohup会把执行结果中的日志输出到当前文件夹下面的nohup.out文件中,通常情况下我们使用以上命令即可。
nohup java -jar xxx.jar > catalina.out 2>&1 & # 指定日志文件输出地址 nohup java -jar
xxx.jar >/dev/null & # 关闭日志输出
<>2.3 挂断nohup命令
ps -ef # 查看系统进程,并记下java -jar xxx.jar命令的PID kill -9 [PID] # 强制结束进程
<>3 应用启动、停止、重启shell脚本

* 启动应用的脚本:start.sh #!/bin/bash nohup java -jar yourapp.jar --server.port=8888
&
* 关闭应用的脚本:stop.sh #!/bin/bash PID=$(ps -ef | grep yourapp.jar | grep -v grep
| awk '{ print $2 }') if [ -z "$PID" ] then echo Application is already stopped
else echo kill $PID kill $PID fi
* 整合了关闭和启动的脚本:run.sh,由于会先执行关闭应用,然后再启动应用,这样不会引起端口冲突等问题,适合在持续集成系统中进行反复调用。
#!/bin/bash echo stop application source stop.sh echo start application source
start.sh
<>4 创建系统服务

在Spring Boot的Maven插件中,还提供了构建完整可执行程序的功能,什么意思呢?就是说,我们可以不用java
-jar,而是直接运行jar来执行程序。这样我们就可以方便的将其创建成系统服务在后台运行了。

* 在pom.xml中添加Spring Boot的插件,并注意设置executable配置 <build> <plugins> <plugin> <
groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin
</artifactId> <configuration> <executable>true</executable> </configuration> </
plugin> </plugins> </build>
* 在完成上述配置后,使用mvn install进行打包,构建一个可执行的jar包
* 创建软连接到/etc/init.d/目录下 sudo ln -s /var/yourapp/yourapp.jar
/etc/init.d/yourapp
* 在完成软连接创建之后,我们就可以通过如下命令对yourapp.jar应用来控制启动、停止、重启操作了 /etc/init.d/yourapp
start|stop|restart

技术
©2019-2020 Toolsou All rights reserved,
pytorch之ResNet18(对cifar10数据进行分类准确度达到94%)人工智能算法总结PHP打印输出logHackbar 使用教程vue使用THREE.js创建一个可以控制的立方体BugkuCTF-Web-计算器(随机数字运算验证码)华为受限老对手受益最大?分蛋糕的人越来越多了!Spark SQL-编程最短路径Dijkstra (Python3)airflow 定时任务+时间设定+cron表达式