Spring Boot是Java的一个流行框架,用于开发企业级应用程序。下面我们将学习如何在Linux服务器上部署Spring Boot应用,并通过一个脚本实现启动、停止、重启等操作。
步骤1: 准备环境
确保你的Linux服务器上已经安装了合适版本的Java。通过运行java -version
来验证。
步骤2: 上传你的JAR文件
将你的Spring Boot应用的JAR文件上传到服务器上的某个目录,例如/opt/myapp/myapp.jar
。
步骤3: 创建管理脚本
在Linux服务器
上创建一个新文件,例如szxblog.sh
,并粘贴以下内容:
#!/bin/bash
# 公共路径
BASE_PATH="/usr/local/java/jar/api-service"
# 应用名称(就是jar包名称,不包含后缀)
JAR_NAME="api-service"
# 定义JAR文件的路径
JAR_PATH="$BASE_PATH/$JAR_NAME.jar"
# 定义Java虚拟机的选项
JAVA_OPTS="-Xms256m -Xmx512m"
# 定义PID文件的路径 自定义用法
PID_PATH="/usr/local/java/jar/api-service/$JAR_NAME.pid"
# 定义日志文件的路径
LOG_PATH="$BASE_PATH/$JAR_NAME.log"
start() {
# 检查是否已运行
if [ -f $PID_PATH ] && ps -p $(cat $PID_PATH) > /dev/null; then
echo "应用程序已经在运行。"
exit 0
fi
# 启动应用
echo "开始启动应用程序"
nohup java $JAVA_OPTS -jar $JAR_PATH > $LOG_PATH 2>&1 &
echo $! > $PID_PATH
# 检查应用是否启动
sleep 5 # 等待一些秒来确保应用有时间启动
if ps -p $(cat $PID_PATH) > /dev/null; then
echo "应用程序启动成功."
else
echo "应用程序启动失败."
exit 1
fi
}
stop() {
# 检查是否正在运行
if [ ! -f $PID_PATH ] || ! ps -p $(cat $PID_PATH) > /dev/null; then
echo "应用程序没有在运行。"
exit 0
fi
# 停止应用
echo "开始停止应用程序."
kill $(cat $PID_PATH)
rm $PID_PATH
echo "应用程序已停止成功."
}
restart() {
stop
start
}
# 基于命令行参数执行相应操作
case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "用法: $0 {start|stop|restart}"
exit 1
;;
esac
请确保修改JAR_PATH
、JAVA_OPTS
、PID_PATH
和LOG_PATH
等变量的值,以匹配你的具体情况。
步骤4: 赋予脚本执行权限
在终端中,导航到脚本所在的目录,并运行以下命令赋予执行权限:
chmod +x szxblog.sh
步骤5: 使用脚本管理应用
你现在可以使用以下命令来启动、停止和重启你的Spring Boot应用:
- 启动:
./szxblog.sh start
- 停止:
./szxblog.shh stop
- 重启:
./szxblog.sh restart
结论
这个脚本提供了一个简单而强大的方法来管理你的Spring Boot应用程序。通过修改几个关键的变量,你可以轻松地将其适应到你自己的项目中。
2 comments
步骤5的停止那里是不是多了个“h”。
我也改写过类似的脚本,以下几条可供参考:
(1)当./szxblog.sh 无参数时输出可支持的全部参数,输出语句可以是闪烁效果;
(2)可以有./szxblog.sh status 查看当前进程状态,是否为运行中;
(3)kill命令可以区分-9 和 - 15,用于某些时候的优雅停机;
步骤5没有多h啊,我测试过的
./szxblog.sh start 启动./szxblog.sh stop 停止./szxblog.sh restart 重启