linux部署springboot项目

linux部署springboot项目

在centos中的部署

1. 打包项目

先把项目打包 jar 或者war

如果项目中有关于保存文件的路径, 则先改为linux下的路径再打包

然后上传到服务器 (可以使用MobaXterm 或者 filezilla 等工具上传)

2. 运行项目

前台运行

前台运行则会占用当前的终端界面, 如果终端界面关闭或结束, 则服务器也会结束

运行项目指令 (建议在项目所在目录执行的命令, 否则需要绝对路径)

java -jar xxx.war/xxx.jar

后台运行

后台运行则不会占用终端的界面

使用nohup命令即可

nohup java -jar xxx.war/xxx.jar

那么我们有时候也需要查看控制台的报错信息等, 需要这样写, 把控制台的信息保存到XXX.log文件中

nohup java -jar XXX.war -> XXX.log

如果要运行多个, 则用 & 符号链接多条指令即可, 例如运行8081.war和8082.war项目

nohup java -jar 8081.war -> 8081.log & nohup  java -jar  8082.war -> 8082.log &

如果每次运行项目, 都要写这么复杂的指令, 这时我们可以把命令写到sh脚本文件中

新建start.sh然后写入如下内容

#!/bin/sh
nohup java -jar 8081.war -> 8081.log & nohup  java -jar  8082.war -> 8082.log &

然后我们使用sh start.sh 即可运行脚本

附加linux查看文件指令如下:

  • 命令1: cat 日志文件 信息
  • 命令2: tail -10 日志文件 后10行日志
  • 命令3: tail -f 日志文件 动态日志打印(占用内存较多)

3. 关闭后台项目进程

查看进程命令

jps

杀死进程命令

kill -9 PID号 强制杀死
kill -15 PID号 友好的关闭

4. 参数脚本形式

#!/bin/bash
# java进程启动/停止/重启脚本

# java程序名称
JAR_FILE_NAME="coworking.jar"

# 日志文件名称
LOG_FILE_NAME="coworking.log"

# java 配置文件 prop: 正式环境配置文件  dev: 开发环境配置文件
active="--spring.profiles.active=prop"

# 启动java程序命令
start="nohup java -jar $JAR_FILE_NAME $active>$LOG_FILE_NAME & tail -f $LOG_FILE_NAME"

# 终止java程序函数
stop="kill -9 `ps -ef | grep java | grep $JAR_FILE_NAME | awk '{print $2}'`"

# 启动java程序
if [ $1 == "-start" ]
then
    eval $stop
    eval $start
fi

# 重启java程序
if [ $1 == "-restart" ]
then
    eval $stop
    eval $start
fi

# 停止java程序
if [ $1 == "-stop" ]
then
    eval $stop
fi

exit
posted @ 2020-08-10 18:50  zpk-aaron  阅读(1110)  评论(0编辑  收藏  举报