在linux上部署springboot的jar包
文章树列

java命令的模版:java [-options] -jar jarfile [args...]

先贴一下我的简单的启动命令:

java -Xms128m -Xmx256m -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8081,suspend=n -jar /data/app/test.jar --spring.profiles.active=dev &

其中:

-Xms128m 设置的是JVM堆最小内存为128m

-Xmx256m 设置的是JVM堆最大内存为256m

这里有个问题是-Xmx指定的内存不包括jvm运行中使用的本地内存,所以如果有NIO等涉及到本地内存的情况时,该java进程占用的总内存会超过-Xmx设定的数值

-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8081,suspend=n

设置debug模式,允许tomcat远程连接服务器调试,调试端口可指定,此处为8081

/data/app/test.jar 指定需要执行的jar包的路径

--spring.profiles.active=dev 设定SpringBoot运行环境为dev环境

& 后台模式执行

 

二、封装linux启动脚本

启动方法:

#sh文件路径 + 参数

/root/ycmrsm/ycmrsm.sh status/start/restart/stop

修改红色字体内容:

#.jar包改成自己的。

AppName=ruoyi-admin.jar

# log目录和/jar包目录改成自己的。

nohup java -jar  $JVM_OPTS /ry/$AppName > /ry/log/log.log 2>&1 &

        # 改成自己的启动配置文件

        --spring.profiles.active=prod 

#!/bin/bash
AppName=ruoyi-admin.jar
#JVM参数
JVM_OPTS="-Dname=$AppName  -Duser.timezone=Asia/Shanghai -Xms512M -Xmx512M -XX:PermSize=256M -XX:MaxPermSize=512M -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps  -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"
APP_HOME=`pwd`
LOG_PATH=$APP_HOME/logs/$AppName.log
if [ "$1" = "" ];
then
    echo -e "\033[0;31m 未输入操作名 \033[0m  \033[0;34m {start|stop|restart|status} \033[0m"
    exit 1
fi
if [ "$AppName" = "" ];
then
    echo -e "\033[0;31m 未输入应用名 \033[0m"
    exit 1
fi
function start()
{
    PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
	if [ x"$PID" != x"" ]; then
	    echo "$AppName is running..."
	else
		nohup java -jar  $JVM_OPTS /ry/$AppName  --spring.profiles.active=prod > /ry/log/log.log 2>&1 &
		echo "Start $AppName success..."
	fi
}
function stop()
{
    echo "Stop $AppName"
	PID=""
	query(){
		PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
	}
	query
	if [ x"$PID" != x"" ]; then
		kill -TERM $PID
		echo "$AppName (pid:$PID) exiting..."
		while [ x"$PID" != x"" ]
		do
			sleep 1
			query
		done
		echo "$AppName exited."
	else
		echo "$AppName already stopped."
	fi
}
function restart()
{
    stop
    sleep 2
    start
}
function status()
{
    PID=`ps -ef |grep java|grep $AppName|grep -v grep|wc -l`
    if [ $PID != 0 ];then
        echo "$AppName is running..."
    else
        echo "$AppName is not running..."
    fi
}
case $1 in
    start)
    start;;
    stop)
    stop;;
    restart)
    restart;;
    status)
    status;;
    *)
esac

 

 

 

本文原创,商业转载请联系作者获得授权,非商业转载请注明出处。

评论

发送评论 编辑评论


                        

后端技术分类热门文章

标签热门文章排行

☛免责声明 ☛本站使用教程
Theme Argon With Ry-Plus By 清欢
我的第24584位朋友,历经142924次回眸才与你相遇
内容失效/资源代找/交流学习
内容失效/资源代找/交流学习