zoukankan      html  css  js  c++  java
  • linux(centos6.5)下部署springboot jar包用 *.sh 文件启动项目并将项目做成开机自启动服务

    第一种方法:非自启动方式

    1.如果你使用的是maven来管理项目,执行以下命令进行项目打包

    1. cd 项目根目录(和pom.xml同级)
    2.  
      mvn clean package
    3.  
      ## 或者执行下面的命令
    4.  
      ## 排除测试代码后进行打包
    5.  
      mvn clean package -Dmaven.test.skip=true

    执行后会在项目更目录下生成一个target文件会生成一个*.jar 文件,这样打包就完成了,接下来在linux下部署

    2.将jar文件传到linux目录下(这里我创建了一个java文件夹)

    1.  
      cd /java #切换到java 目录下
    2.  
      vim /java/start.sh #在java目录下创建start.sh 文件
    3.  
      vi /java/start.sh # 执行此命令对start.sh 文件进行编辑
    4.  
      写入下列内容:
    5.  
      #!/bin/sh
    6.  
       
    7.  
      rm -f tpid
    8.  
      APP_NAME=familySign
    9.  
      APP_JAR=$APP_NAME".jar"
    10.  
      nohup java -Dfile.encoding=UTF-8 -jar $APP_JAR --spring.config.location=application.properties > ./logs/$APP_NAME".log" 2>&1 &
    11.  
      echo $! > $APP_NAME".tpid"
    12.  
      echo $APP_NAME Start Success!
    13.  
       
    14.  
      编辑完成后 点击ESC键退出
    15.  
      输入 :wq 退出保存
    16.  
      给文件赋予执行权:
    17.  
      chmod a+x start.sh
    18.  
      chmod a+x familySign.jar
    19.  
      在java目录下执行 start.sh 文件
    20.  
      [root@localhost java]# ./start.sh
    21.  
      familySign Start Success!
    22.  
      项目启动成功
    23.  
       

    在此需要注意的是:logs文件夹要手动创建。不然无法正常 运行。

    如果项目停止项目运行:

    1.  
      在java目录下创建stop.sh 文件
    2.  
      [root@localhost ~]# cd /java
    3.  
      [root@localhost java]# vim /java/stop.sh
    4.  
      写入下列内容
    5.  
      #!/bin/sh
    6.  
      APP_NAME=familySign
    7.  
       
    8.  
      tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
    9.  
      if [ ${tpid} ]; then
    10.  
      echo 'Stopping' $APP_NAME '...'
    11.  
      kill -15 $tpid
    12.  
      fi
    13.  
      sleep 5
    14.  
      tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
    15.  
      if [ ${tpid} ]; then
    16.  
      echo 'Kill' $APP_NAME 'Process!'
    17.  
      kill -9 $tpid
    18.  
      else
    19.  
      echo $APP_NAME 'Stoped Success!'
    20.  
      fi
    21.  
      写入完成点击ESC键退出编辑
    22.  
      输入 :wq 退出保存文件
    23.  
      执行如下命令给stop.sh 文件赋予执行
    24.  
      chmod a+x stop.sh
    25.  
      执行stop.sh 文件
    26.  
      [root@localhost java]# ./stop.sh
    27.  
      Stopping familySign ...
    28.  
      项目停止运行成功

    chmod a+x 文件名 a 是指赋予所用用户执行权

    到这里项目的的打包部署就完成了。

    第二种方式 :开机自启动服务

    1.将项目运行添加为开机自启动服务:

    1.  
      [root@localhost ~]# cd /etc/init.d
    2.  
      [root@localhost init.d]# vim /etc/init.d/autostart
    3.  
      #!/bin/sh
    4.  
      #chkconfig: 2345 80 90
    5.  
      rm -f tpid
    6.  
      APP_NAME=/java/familySign_API/familySign #jar 包路径 根据自己的修改
    7.  
      APP_JAR=$APP_NAME".jar"
    8.  
       
    9.  
      export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_171
    10.  
      export JRE=/usr/lib/jvm/jdk1.8.0_171/jre
    11.  
      export CLASSPATH=$JAVAHOME/lib:$JRE/lib:.
    12.  
      export PATH=$PATH:$JAVA_HOME/bin:$JRE/bin
    13.  
       
    14.  
      nohup java -Dfile.encoding=UTF-8 -jar $APP_JAR --spring.config.location=/java/familySign_API/application.properties > /java/familySign_API/logs/familySign".log" 2>&1 &
    15.  
       
    16.  
      echo $! > $APP_NAME".tpid"
    17.  
       
    18.  
      echo $APP_NAME Start Success!
    19.  
      同上编辑完成保存退出
    20.  
      chmod a+x autostart
    21.  
      赋予执行权
    22.  
      执行如下命令将autostart添加为自启服务
    23.  
      chkconfig --add autostart # (首先,添加为系统服务,注意add前面有两个横杠)
    24.  
       
    25.  
      chkconfig autostart on #开机自启
    26.  
      chkconfig --list (列表显示)查看是否添加到服务列表
    27.  
      service autostart start(启动服务,就是执行my的脚本)
    28.  
      /java/familySign_API/familySign Start Success!
    29.  
      项目运行成功。


    export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_171
    export JRE=/usr/lib/jvm/jdk1.8.0_171/jre
    export CLASSPATH=$JAVAHOME/lib:$JRE/lib:.
    export PATH=$PATH:$JAVA_HOME/bin:$JRE/bin 

    这个部分为jdk 环境变量,依据自己的安装目录进行更改即可;

    可以重启服务器试试看是否启动成功

  • 相关阅读:
    Lync 2013和Exchange 2013集成
    eclise配置tomcat出现服务Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4 and Java EE 5 Web modules
    二叉树C语言
    NYOJ 298 相变点(矩阵高速功率)
    简化网站开发:SiteMesh小工具
    Android Ant 和 Gradle 包装工艺和效率控制
    [Webpack 2] Chunking common modules from multiple apps with the Webpack CommonsChunkPlugin
    [Webpack 2] Grouping vendor files with the Webpack CommonsChunkPlugin
    [Webpack 2] Hashing with Webpack for long term caching
    [Webpack 2] Maintain sane file sizes with webpack code splitting
  • 原文地址:https://www.cnblogs.com/telwanggs/p/14072401.html
Copyright © 2011-2022 走看看