关于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文件中。