springboot配置成linuxservice-创新互联

最近,要把公司以前的一个java application 同步程序修改一下,让它变成一个容易部署而且运行稳健的服务。

同安网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。创新互联建站从2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站

网上找了一下资料,决定动手把它变成一个spring boot项目,理由有3:

(1)易维护;

(2)易部署;

(3)较稳健;

做了以下步骤:

1.把它从传统项目变为maven项目,好处是大家都知的.

2.把它从一般的java application 变为spring boot application.

3.把它部署成Linux的系统服务.

听起来是容易的,实际也是容易,只要不做错就行,呵呵。在这里,重点说一下第三步.

以下为ubuntu环境:

(1)先生成spring boot 项目的jar包,往pom.xml里加点料,不然做不了的.

org.apache.maven.plug×××

maven-surefire-plugin

2.19.1

        org.springframework.boot

        spring-boot-maven-plugin

        1.5.9.RELEASE

       

           

               

                    repackage

               

           

       

   

然后用

mvn clean compile //重新编译

mvn package skipTests //生成包啦

(2)把生成的jar包 oee-sync-tool-0.1.jar copy 到/home/page/soft目录下

(3)在/etc/systemd/system下创建文件oee-sync-tool.service如下内容:

[Unit]

Description=oee-sync-tool Service

After=syslog.target

[Service]

ExecStart=/opt/java/jdk1.8.0_131/bin/java -jar /home/page/soft/oee-sync-tool-0.1.jar --spring.profiles.active=dev

SuccessExitStatus=143

[Install]

WantedBy=multi-user.target

然后输入启动服务 :   service oee-sync-tool restart

查看服务:service oee-sync-tool status

停止服务:service oee-sync-tool stop

日志嘛,是放在/logs下面的sync-error.log,sync-info.log

(4)大功告成

以下是Centos环境:

(1)在/etc/init.d下新建一个oee-sync-tool文件,内容如下:

#!/bin/bash

#

# chkconfig: - 57 75

# description: test service

ROOT_PATH=/opt/oee/

OEE_SYNC_PID=/opt/oee/oee-sync-tool.pid

start() {

 if [ -f /opt/oee/oee-sync-tool.pid ];then

                SPID=`cat /opt/oee/oee-sync-tool.pid`

                  if [ "$SPID" != "" ];then

                     echo "oee-sync-tool is running.....please check again!"

                     echo  $OEE_SYNC_PID

                  else

                    echo -n $"Starting $prog: "

                    nohup java -jar /opt/oee/oee-sync-tool-0.1.jar >/dev/null 2>&1 & new_agent_pid=$!

                    echo "$new_agent_pid" > $OEE_SYNC_PID

                  fi

 else

     echo -n $"Starting $prog: "

     nohup java -jar /opt/oee/oee-sync-tool-0.1.jar >/dev/null 2>&1 & new_agent_pid=$!

     echo "$new_agent_pid" > $OEE_SYNC_PID

 fi

}

stop() {

 if [ -f /opt/oee/oee-sync-tool.pid ];then  

                SPID=`cat /opt/oee/oee-sync-tool.pid`  

                  if [ "$SPID" != "" ];then  

                     kill -9  $SPID  

                     echo  > $OEE_SYNC_PID  

                     echo "stop success"  

                  fi  

 fi          

}

CheckProcessStata()  

{  

CPS_PID=$1  

if [ "$CPS_PID" != "" ] ;then  

    CPS_PIDLIST=`ps -ef|grep $CPS_PID|grep -v grep|awk -F" " '{print $2}'`  

else  

    CPS_PIDLIST=`ps -ef|grep "$CPS_PNAME"|grep -v grep|awk -F" " '{print $2}'`  

fi  

for CPS_i in `echo $CPS_PIDLIST`  

do  

    if [ "$CPS_PID" = "" ] ;then  

        CPS_i1="$CPS_PID"  

    else  

        CPS_i1="$CPS_i"  

    fi  

    if [ "$CPS_i1" = "$CPS_PID" ] ;then  

        #kill -s 0 $CPS_i  

        kill -0 $CPS_i >/dev/null 2>&1  

        if [ $? != 0 ] ;then  

            echo "[`date`] MC-10500: Process $i have Dead"   

            kill -9 $CPS_i >/dev/null 2>&1  

             

            return 1  

        else  

            #echo "[`date`] MC-10501: Process is alive"   

            return 0  

        fi  

    fi  

done  

echo "[`date`] MC-10502: Process $CPS_i is not exists"   

return 1  

}  

status()  

{  

SPID=`cat /opt/oee/oee-sync-tool.pid`   

CheckProcessStata $SPID >/dev/null  

                         if [ $? != 0 ];then  

                            echo "oee-sync-tool:{$SPID}  Stopped ...."  

                          else  

                            echo "oee-sync-tool:{$SPID} Running Normal."  

                         fi  

}  

restart()  

{  

echo "stoping ... "  

stop  

echo "staring ..."  

start  

}  

case "$1" in  

start)  

    start  

    ;;  

stop)  

    stop  

    ;;  

status)  

     status  

    ;;  

restart)  

    restart  

    ;;  

*)  

    echo $"Usage: $0 {start|stop|restart}"  

    RETVAL=1  

echo $"Usage: $0 {start|stop|restart|force-reload}"

exit 2

esac

(2)使用命令chkconfig设置开机启动

    

    chkconfig --add oee-sync-tool

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享题目:springboot配置成linuxservice-创新互联
链接URL:http://scyanting.com/article/deschp.html