关于springboot如果打包成jar项目,其运行方式无论是maven还是其他工具,其原理都同java -jar my.jar,调用jar包项目的主应用类启动。
windows环境 启动方式: java -jar 项目名.jar
linux环境下 启动方式 :springboot项目后台启动,关闭xsheel不停止项目:
如果使用阿里云--- 解决阿里云的tomcat启动慢的问题 : Djava.security.egd=file:/dev/./urandom
后台启动并打印日志 nohup java -jar 项目名.jar Djava.security.egd=file:/dev/./urandom > 日志.log 2>&1 &
生产linux服务器下,可以编写统一脚本依次管理启动重启,
单一启动脚本:
一下有三个脚本:
1.启动 脚本 start.sh 2.停止脚本 stop.sh 3.重启脚本 restart.sh
启动之前先授权一下 : chmod a+x 文件.sh
vi start.sh
#!/bin/bash
echo starting
java -jar 项目.jar > log.file 2>&1 &
停止服务脚本:
vi stop.sh
#!/bin/bash
PID=$(ps -ef | grep 项目.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
echo Application is already stopped
else
echo $PID
kill $PID
fi
停止脚本的流程就是,通过ps查找到该项目进程id,然后kill掉。
重启脚本:
vi restart.sh
#!/bin/bash
echo stop application
source stop.sh
echo start application
source start.sh
重启脚本流程好理解,依次调用停止,启动即可.
Linux 运行jar包命令如下:
方式一:
java -jar XXX.jar
特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
那如何让窗口不锁定?
方式二
java -jar XXX.jar &
&代表在后台运行。
特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。
继续改进,如何让窗口关闭时,程序仍然运行?
方式三
nohup java -jar XXX.jar &
nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。
方式四
nohup java -jar XXX.jar > out.file 2>&1 &
解释下 >out.file
command >out.file
command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。