CentOS7 配置JAR包开机自启动

文章目录

  • 一、查看CentOS7 中 java的安装路径
  • 二、创建脚本jar_auto.sh,设置开机自启动

一、查看CentOS7 中 java的安装路径

which  java
ll /usr/bin/java
ll /etc/alternatives/java

CentOS7 配置JAR包开机自启动_第1张图片
CentOS7中Java的默认安装路径是:

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64/jre/bin/java

二、创建脚本jar_auto.sh,设置开机自启动

1.在/etc/rc.d/init.d目录下创建jar_auto.sh文件

vim /etc/rc.d/init.d/jar_auto.sh

添加以下内容

#!/bin/bash
#配置jdk的路径
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64/jre/bin/java   #此处为我的java环境路径,需要改为自己的JDK路径
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
 
#有时需要把jar包延时启动(不设置延时启动jar,nacos会提示拒绝连接)
#延时10S运行jar包,需要延时启动则放开sleep注释行 (sleep+数字,表示延迟多少秒启动)
sleep 10
#配置jar包启动的路径 日志生成路径  nohup表示静默启动,不在窗口显示启动日志
nohup java -jar -Xms512M -Xmx1024M -XX:PermSize=512M -XX:MaxPermSize=1024M /home/ruoyi/projects/ruoyi/ruoyi-admin.jar > /home/ruoyi/projects/ruoyi/ry-vue.log&
nohup java -jar -Xms512M -Xmx1024M -XX:PermSize=512M
 -XX:MaxPermSize=1024M jar包名.jar > jar启动日志.log&

优化详解:
1、-Xms:表示java虚拟机堆区内存初始内存分配的大小,通常为操作系统可用内存的1/64大小即可,但仍需按照实际情况进行分配。
2、-Xmx: 表示java虚拟机堆区内存可被分配的最大上限,通常为操作系统可用内存的1/4大小。
3、-XX:PermSize:表示非堆区初始内存分配大小,其缩写为permanent size(持久化内存)。
4、-XX:MaxPermSize:表示对非堆区分配的内存的最大上限。即jar进程启动后可占用服务器的最大内存。

2.为jar_auto自启动脚本赋予执行权限
chmod +x 命令表示将该文件设置为可执行的文件
jar_auto.sh,在/etc/rc.d/init.d目录下,所有要在该目录下执行赋予可执行的权限指令。

chmod +x /etc/rc.d/init.d/jar_auto.sh    

3.编辑/etc/rc.d目录下的rc.local文件,为jar脚本赋予开机自启动权限

vim /etc/rc.d/rc.local

添加的内容如下:

/etc/rc.d/init.d/jar_auto.sh

CentOS7 配置JAR包开机自启动_第2张图片
4.将jar自启动目录添加到rc.local文件后,需要为文件重新赋予执行权限,执行以下命令:

chmod +x /etc/rc.d/rc.local

5.重启测试

reboot

6.使用ps命令查看jar启动状态:

#查看包含.jar后缀的文件启动状态

ps -ef | grep .jar

7.结束pid进程:

kill -9 pid
#或者
kill pid
#或者结束整个java进程
killall java

8.取消自动启动脚本
将/etc/rc.d/init.d/jar_auto.sh注释掉即可

vim /etc/rc.d/rc.local

CentOS7 配置JAR包开机自启动_第3张图片

另外一种后台运行的方式,并将相关日志输出到spring.log

nohup java -jar abc.jar >spring.log &
nohup java -jar abc.jar >spring.log 2>&1 &

nohup java -jar -Xms512M -Xmx1024M -XX:PermSize=512M -XX:MaxPermSize=1024M /home/ruoyi/projects/ruoyi/ruoyi-admin.jar > /home/ruoyi/projects/ruoyi/ry-vue.log 2>&1 &

注释:
nohup : 是 no hang up 的缩写,就是不挂断的意思。
& : 指在后台运行。
nohup COMMAND & : 这样就能使命令永久的在后台执行。
&>或2>&1 :将标准输出与错误输出共同写入到文件中
2>&1 : 是将标准错误(2)重定向到标准输出(&1),标准输出(1)再被重定向输入到 stdout.log 文件中。

你可能感兴趣的:(CentOS,jar,java,开发语言)