Linux下单服务jar项目开机自启动XShell命令

首先欢迎大家前来围观!

来源背景:今天部署了一个小程序"解放号西南商机之窗",为了达到用户自己可以开机自启解决普通的异常问题。这个项目属于单体架构,运用的东西也不多。[*注:小程序发布Https请求]

Linux服务器操作手册:   【最笨的办法就是reboot重启服务器即可】
    
(1)输入 java -version 检测JDK安装情况
(2)输入 lsof -i:3306  检测MySQL是否正常运行
        【启动 :service mysqld start   】    
        【停止 :service mysqld stop    】    
        【重启 :service mysqld restart 】
(3)输入 lsof -i:80  检测Nginx是否正常运行
        【启动 :systemctl start nginx  】
        【停止 :systemctl stop nginx   】
        【重启 :systemctl restart nginx】
(4)输入 lsof -i:8088  检测(项目)是否正常运行
        【启动 :service sjfx_jar start  】    
        【停止 :service sjfx_jar stop  】    
        【重启 :service sjfx_jar restart 】

=================================以下便是这篇博文的重点===============================

#!/bin/sh

# Business opportunities sharing project startup.
# chkconfig:2345 90 10
# description: opshare-0.0.1-SNAPSHOT.jar
# author: Love丶TG

echo "*****************************************************"
echo "***************** Welcome to you ! ******************"
echo "******************** Love丶TG ***********************"

# import JDK config 
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

PROJECT_PATH=/home/
PROJECT_NAME=opshare-0.0.1-SNAPSHOT.jar

startFunction()
{
    pid=`lsof -F p  -i:$1 | cut -b 2-`
    if [ "$pid" != "" ];then
        kill -9 $pid;
        nohup java -Xmx6000m  -Xss10m -jar $PROJECT_PATH$PROJECT_NAME --server.port=$1  &
        echo "-----> $1 Port occupancy forced offline and start again <-----"
    else
        nohup java -Xmx6000m  -Xss10m -jar $PROJECT_PATH$PROJECT_NAME --server.port=$1  &
        echo "-----> The $1 port starting success <-----"
    fi
}

# 为了防止重复启动查询出来的pid为多个,这儿需要优化为循环停止
stopFunction()
{
    pid=`lsof -F p  -i:$1 | cut -b 2-`
    if [ "$pid" != "" ];then
        kill -9 $pid;
        echo "-----> $1 Port Stop success <-----"
    else
        echo "-----> Please confirm whether the $1 port is being restarted or stopped. <-----"
    fi
}

case "$1" in
    start)
        if [ "$2" == "" ];then
            startFunction 8088
        else
            startFunction $2
        fi
    ;;
    stop)
        if [ "$2" == "" ];then
            stopFunction 8088
        else
            stopFunction $2
        fi
    ;;
    restart)
        "$0" stop && "$0" start
    ;;
    *)
        echo " ********* Please follow the following format. ********* "
        echo " ----->     start          : service sjfx_jar start     <----- "
        echo " ----->     stop          : service sjfx_jar stop     <----- "
        echo " ----->     restart       : service sjfx_jar restart  <----- "
        echo " Please do not stop the use immediately after it starts. "
    ;;
esac

=================================END===============================

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值