springboot2 linux上jar部署

一、把项目打成jar包
mvn clean package -DskipTests

二、上传Jar包到服务器
小的文件上传可以用 rz小工具 大的最好用 FTP工具上传(winscp xftp)
在这里插入图片描述

三、上传配置文件以及优雅启动脚本
Application.yml

server:
  port: 8080
......

优雅启动脚本.sh

#!/bin/bash

SpringBoot=$2

if [ "$1" = "" ];
then
    echo -e "\033[0;31m 未输入操作名 \033[0m  \033[0;34m {start|stop|restart|status} \033[0m"
    exit 1
fi

if [ "$SpringBoot" = "" ];
then
    echo -e "\033[0;31m 未输入应用名 \033[0m"
    exit 1
fi

function start()
{
	count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`
	if [ $count != 0 ];then
		echo "$SpringBoot is running..."
	else
		echo "Start $SpringBoot success..."
		nohup java -jar -Dspring.config.location=/home/j/share/config/Application.yml  $SpringBoot > nohup.log 2>&1 &
	fi
}

function stop()
{
	echo "Stop $SpringBoot"
	boot_id=`ps -ef |grep java|grep $SpringBoot|grep -v grep|awk '{print $2}'`
	count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`

	if [ $count != 0 ];then
	    kill $boot_id
    	count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`

		boot_id=`ps -ef |grep java|grep $SpringBoot|grep -v grep|awk '{print $2}'`
		kill -9 $boot_id
	fi
}

function restart()
{
	stop
	sleep 2
	start
}

function status()
{
    count=`ps -ef |grep java|grep $SpringBoot|grep -v grep|wc -l`
    if [ $count != 0 ];then
        echo "$SpringBoot is running..."
    else
        echo "$SpringBoot is not running..."
    fi
}

case $1 in
	start)
	start;;
	stop)
	stop;;
	restart)
	restart;;
	status)
	status;;
	*)
esac

四、优雅启动脚本修改
修改成自己yml文件路径
在这里插入图片描述
四、优雅启动脚本启动项目
./启动脚本.sh 操作({start|stop|restart|status}) jar包位置
e.g: run.sh start xxx.jar

五、检查项目是否启动
ps -ef | grep 项目名称
在这里插入图片描述

六、打开浏览器访问
https://www.jlshare.top/ 这个是我自己的网站
在这里插入图片描述


分享一个原先我自己在部署时候遇到的一个问题,我记录在我的简书里面
springboot2 linux上jar部署 @value Could not resolve placeholder的问题
https://www.jianshu.com/p/7d9625cacae6

Linux部署Spring Boot JAR文件,可以按照以下步骤进行操作: 1. 安装Java环境,可以通过以下命令安装: ``` sudo apt-get update sudo apt-get install default-jre sudo apt-get install default-jdk ``` 2. 将Spring Boot JAR文件上传到Linux服务器上的任意目录。 3. 在Linux服务器上创建一个systemd服务文件,用于启动Spring Boot应用程序。创建的服务文件应该包含以下内容: ``` [Unit] Description=Spring Boot App After=syslog.target [Service] ExecStart=/usr/bin/java -jar /path/to/jarfile.jar SuccessExitStatus=143 Restart=always RestartSec=30 User=<username> Group=<groupname> [Install] WantedBy=multi-user.target ``` 其中,`ExecStart`指定了Java命令来启动JAR文件,`User`和`Group`指定了服务运行的用户和组。 4. 将服务文件保存到`/etc/systemd/system/`目录下,并使用以下命令启动服务: ``` sudo systemctl daemon-reload sudo systemctl start <servicename> ``` 其中,`<servicename>`是服务文件的名称。 5. 可以使用以下命令检查服务是否正在运行: ``` sudo systemctl status <servicename> ``` 如果服务正在运行,则应该看到类似以下内容的输出: ``` ● <servicename>.service - Spring Boot App Loaded: loaded (/etc/systemd/system/<servicename>.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2021-06-18 11:15:58 PDT; 3s ago Main PID: 12345 (java) Tasks: 14 (limit: 4915) CGroup: /system.slice/<servicename>.service └─12345 /usr/bin/java -jar /path/to/jarfile.jar ``` 6. 如果需要在Linux服务器启动时自动启动Spring Boot应用程序,则可以使用以下命令将服务添加到系统启动项中: ``` sudo systemctl enable <servicename> ``` 这将在系统启动时自动启动服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值