在Linux上发布和后台运行Springboot项目

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/XU906722/article/details/82558890

Linux上发布springboot项目


方法一

  1. 打包springboot项目,如:demo.jar;
  2. 将demo.jar上传到服务器;
  3. 进入demo.jar所在目录,运行命令启动jar包:java -jar demo.jar

在本地输入服务器地址就可以访问部署的项目了,但是这种方式存在严重问题,当启动jar包的shell窗口关闭后springboot就停止了,因此该方法很少使用。


方法二

  1. 同方法一将jar包上传到服务器;
  2. 在jar包所在目录下创建start.shstop.shrun.sh
    start.sh
#!/bin/bash
nohup java -jar demo.jar --server.port=8084 > demo.log 2>&1 &

nohup: 不挂断地运行命令,退出帐户之后继续运行相应的进程;

server.port=8084: 配置启动端口号,此处配置的是8084,可自行修改;

demo.log: 指定log文件,此处在当前目录下,可自行配置到指定目录下;若不配置log文件将默认在当前目录下生成nohup.out文件;

**2>&1:**2是标准错误,1是标准输出,该命令相当于把标准错误重定向到标准输出。这里&相当于标准错误等效于标准输出,即把标准错误和标准输出同时输出到指定的log文件中;

结尾处&:将进程在后台运行;

stop.sh

#!/bin/bash
PID=$(ps -ef | grep demo-0.0.1-SNAPSHOT.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

echo ======= stop the application =======
source stop.sh
echo ======= start the application =======
source start.sh

  3.给三个文件添加执行权限:

chmod +x start.sh stop.sh run.sh

  4.在当前目录下运行./run.sh即可启动springboot项目,且退出服务器后在本地仍可继续访问,该方法完美的解决了方法一的问题。

展开阅读全文

没有更多推荐了,返回首页