• springboot 打包jar,在centos 7 的部署脚本,并设置成开机启动


    一、编写启动脚本 

    #!/bin/bash
    
    SCRIPTPATH=`dirname $0`
    PWDPATH=`cd $SCRIPTPATH && pwd`
    # 配置jar home路径,按照实际配置修改
    #JRE_HOME=/data/jdk1.8.0/jre
    # jvm 允许参数
    JVM_OPTION=" -Xms512m -Xmx2g"
    
    # 项目配置 jar路径
    SPRING_CLASSPATH=$PWDPATH/lib/*
    #项目配置文件 SPRING_CONFIG=file:$PWDPATH/conf/ SPRING_CONFIG=$PWDPATH/conf/bootstrap.properties SPRING_LOGGING=$PWDPATH/conf/logback.xml SIGAR=$PWDPATH/sigar # 删除服务后启动 PROCESS=$(ps -ef | grep $PWDPATH/lib | grep -v grep | awk '{print $2}') echo "$PROCESS" if [ -n "$PROCESS" ]; then echo "PROCESS no IS not NULL" kill -9 $PROCESS fi echo "------------ begin starting $PWDPATH -------------" OPTION="$JVM_OPTION -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$PWDPATH/logs" SPRING_PARAMS="--spring.config.location=$SPRING_CONFIG --logging.config=$SPRING_LOGGING" nohup java -server $OPTION -Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8 -Duser.language=zh_CN -Dsun.jnu.encoding=UTF-8 -Djava.library.path=$SIGAR -Djava.security.egd=file:/dev/./urandom -jar $SPRING_CLASSPATH $SPRING_PARAMS > /dev/null 2>&1 & new_agent_pid=$! #java -server $OPTION -Djava.security.egd=file:/dev/./urandom -jar $SPRING_CLASSPATH $SPRING_PARAMS echo "------------ end start $new_agent_pid $PWDPATH -------------"
    这个-Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8 -Duser.language=zh_CN -Dsun.jnu.encoding=UTF-8 命令主要是为了解决日志输出中文乱码

    二、编写关闭脚本

    #!/bin/bash
    SCRIPTPATH=`dirname $0`
    PWDPATH=`cd $SCRIPTPATH && pwd`
    #rm -fr native
    PROCESS=$(ps -ef | grep $PWDPATH/lib | grep -v grep | awk '{print $2}')
            echo "$PROCESS"
    if [ -n "$PROCESS" ]; then
            echo "PROCESS no IS not NULL"
            kill -9 $PROCESS
    fi

    这些脚本存放在项目的根路径下面

    三、编写开机启动脚本

    #!/bin/bash
    #chkconfig:2345 80 90
    #decription: FaceDeviceCenter start
    #SCRIPTPATH=`dirname $0`
    #PWDPATH=`cd $SCRIPTPATH && pwd`
    #项目路径 PWDPATH
    =/mnt/server/FaceDeviceCenter-8083 # 配置jar home路径,按照实际配置修改 #JRE_HOME=/data/jdk1.8.0/jre # jvm 允许参数 JVM_OPTION=" -Xms512m -Xmx2g" # 项目配置 SPRING_CLASSPATH=$PWDPATH/lib/* SPRING_CONFIG=file:$PWDPATH/conf/ SPRING_CONFIG=$PWDPATH/conf/bootstrap.properties SPRING_LOGGING=$PWDPATH/conf/logback.xml SIGAR=$PWDPATH/sigar # 删除服务后启动 PROCESS=$(ps -ef | grep $PWDPATH/lib | grep -v grep | awk '{print $2}') echo "$PROCESS" if [ -n "$PROCESS" ]; then echo "PROCESS no IS not NULL" kill -9 $PROCESS fi echo "------------ begin starting $PWDPATH -------------" OPTION="$JVM_OPTION -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$PWDPATH/logs" SPRING_PARAMS="--spring.config.location=$SPRING_CONFIG --logging.config=$SPRING_LOGGING" nohup java -server $OPTION -Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8 -Duser.language=zh_CN -Dsun.jnu.encoding=UTF-8 -Djava.library.path=$SIGAR -Djava.security.egd=file:/dev/./urandom -jar $SPRING_CLASSPATH $SPRING_PARAMS > /dev/null 2>&1 & new_agent_pid=$! #java -server $OPTION -Djava.security.egd=file:/dev/./urandom -jar $SPRING_CLASSPATH $SPRING_PARAMS echo "------------ end start $new_agent_pid $PWDPATH -------------"
    1. 注意脚本要添加这两行代码,否则会启动不了
      #chkconfig:2345 80 90 #decription:autostart
    2. 将脚本移动到/etc/rc.d/init.d目录下,或者在这个目录下创建一个xxxx.sh的脚本文件,一般我喜欢把项目名称作为脚本文件名,并把上面的脚本内容写进去,比如我脚本名
      tomcat.sh为例
      mv  /xxxx/tomcat.sh /etc/rc.d/init.d
    3. 增加脚本的可执行权限
      chmod +x  /etc/rc.d/init.d/tomcat.sh
    4. 添加脚本到开机自动启动项目中
      cd /etc/rc.d/init.d
      chkconfig --add tomcat.sh
      chkconfig tomcat.sh on
    做个快乐的删库程序员,随时准备跑路^_^
  • 相关阅读:
    perl linux 编译成可执行程序
    MQSeries::Message 面向对象接口的MQSeries messages
    数据化管理第一步,你真的会做报表吗?
    数据化管理第一步,你真的会做报表吗?
    aix ipcs 官方解释
    使用jquery.qrcode生成二维码及常见问题解决方案
    案例分享|某医药集团的BI建设案例
    aix ipcs OxFFFFFFFF
    案例分享|某医药集团的BI建设案例
    地图应用之 :获取当前位置的经纬度
  • 原文地址:https://www.cnblogs.com/zcsheng/p/12891824.html
Copyright © 2020-2023  润新知