手动启动

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

参数说明:

  • -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环境
  • > catalina.out将标准输出指向制定文件catalina.out
  • 2>&1 输出所有的日志文件
  • & 后台模式执行

脚本启动

#!/bin/sh
#功能简介:启动上层目录下的jar文件
#参数简介:
# $1:jar文件名(包含后缀名)
# 注意:jar文件必须位于startup.sh目录的上一层目录。 #启动参数
JAVA_OPTS="-server -Xms400m -Xmx400m -Xmn300m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xverify:none -XX:+DisableExplicitGC -Djava.awt.headless=true" jar_name=$1
this_dir="$( cd "$( dirname "$0" )" && pwd )"
parent_dir=`dirname "${this_dir}"`
log_dir="${parent_dir}/logs"
log_file="${log_dir}/catalina.out"
jar_file="${parent_dir}/userapps/${jar_name}" #参数个数<1或者参数空值时,中断执行
if [ $# -lt 1 ] || [ -z $1 ]; then
echo -e "\033[31m请输入要部署的jar包名称!\033[0m"
exit 1
fi #日志文件夹不存在,则创建
if [ ! -d "${log_dir}" ]; then
mkdir "${log_dir}"
fi #父目录下jar文件存在
if [ -f "${jar_file}" ]; then
#启动jar包;重定向标准错误输出到文件,丢掉标准输出
java $JAVA_OPTS -jar ${jar_file} 1>/dev/null 2>"${log_file}" &
exit 0
else
echo -e "\033[31m${jar_file}文件不存在!\033[0m"
exit 1
fi

启动方式

./startup.sh xxx.jar

参考:https://www.cnblogs.com/woms/p/6145688.html

springboot linux启动方式的更多相关文章

  1. linux环境下,springboot jar启动方式

    linux环境下,springboot jar启动方式 一.前台启动(ctrl+c会关掉进程) java -jar application.jar 二.后台启动(ctrl+c不会关闭) java -j ...

  2. spingboot linux 启动方式与脚本

    java -jar XXX.jar java -jar xxx.jar & 区别:前台启动ctrl+c就会关闭程序,后台启动ctrl+c不会关闭程序 java -jar xxx.jar > ...

  3. springboot之启动方式

    我们在ideal中启动springboot项目时时不需要加载Tomcat容器的,直接在启动类启动就行了,原因是springboot项目中默认包含了内置Tomcat //springboot项目必须引入 ...

  4. Spring Boot——Linux 启动方式

    1.前台启动:(ctrl+c会关闭程序) java -jar    ****.jar 2.后台启动:(& 后台启动) java -jar    ****.jar & 3.控制台输出启动 ...

  5. spring-boot的三种启动方式[z]

    https://blog.csdn.net/u011425751/article/details/79507386 有段时间没有写博客了,也在努力的从传统单机开发向分布式系统过度,所以再次做一些笔记, ...

  6. SpringBoot启动方式讲解和部署war项目到tomcat9

    1.SpringBoot启动方式讲解和部署war项目到tomcat9简介:SpringBoot常见启动方式讲解和部署war项目Tomcat 1.ide启动 2.jar包方式启动 maven插件: &l ...

  7. 小D课堂 - 零基础入门SpringBoot2.X到实战_第5节 SpringBoot部署war项目到tomcat9和启动原理讲解_22、SpringBoot启动方式和部署war项目到tomcat9

    笔记 1.SpringBoot启动方式讲解和部署war项目到tomcat9 简介:SpringBoot常见启动方式讲解和部署war项目Tomcat 1.ide启动     2.jar包方式启动    ...

  8. spring-boot的三种启动方式

    spring-boot的启动方式主要有三种: 1. 运行带有main方法类 2. 通过命令行 java -jar 的方式 3. 通过spring-boot-plugin的方式 一.执行带有main方法 ...

  9. java项目部署Linux服务器几种启动方式总结经验

    一:两种部署包: 部署之前先说下两种包,java项目部署到服务器一般有用war包的,也有用jar包的,微服务spring-cloud普及后大部分打包都是jar,部署之前先搞清楚自己要打war包还是ja ...

随机推荐

  1. 【父元素parent】【子元素children】【同胞siblings】【过滤】

    1.父元素 $("span").parent()           //定位到span的父元素 $("span").parents()          // ...

  2. 最短路径&次短路径算法

    容易理解:https://blog.csdn.net/m0_37345402/article/details/76695930 https://blog.csdn.net/qq_36386435/ar ...

  3. Javascript - ExtJs - TabPanel组件

    示例 Ext.create('Ext.tab.Panel', {     width: "100%",     renderTo: "tabBox",      ...

  4. [转] Python Traceback详解

    追莫名其妙的bugs利器-mark- 转自:https://www.jianshu.com/p/a8cb5375171a   Python Traceback详解   刚接触Python的时候,简单的 ...

  5. ARMV7-M数据手册---Part B :System Level Architecture---B3 System Address Map

    1.前言 2.The system address map 3.System Control Space (SCS) 4.The system timer, SysTick 5. Nested Vec ...

  6. MySQL报错InnoDB: A long semaphore wait【转】

    mysql登录后无法执行命令如show processlist 查看MySQL错误日志 参考以下方法,执行 1.系统层面 [root@pisphkdcbsql01 ~]# cat /proc/sys/ ...

  7. Linux下的压缩和解压缩命令gzip/gunzip

    作者:邓聪聪 Linux下的压缩和解压缩命令——gzip/gunzip yum -y install zip gzip (--安装压缩工具) gzip命令 gzip命令用来压缩文件.gzip是个使用广 ...

  8. boost--asio--读写大总结

    NO.1 ASIO 读操作大总结: A. Boos::asio::read 同步读方式 void client::read_data(char   * sourse  , int num ) { bo ...

  9. VC获取操作系统位数

    方法1,msdn 有相应的例子,代码贴出来给你看看 MSDN有相应Example! #include <windows.h> typedef BOOL (WINAPI *LPFN_ISWO ...

  10. 使用vue-cli初始化vue项目

    在项目中使用vue我使用vue-cli脚手架搭建项目 1.先安装nodejs 2.使用npm install -g vue-cli (建议在使用这步前先安装nrm来切换npm的源利器,使得下载资源更快 ...