centos 7安装jdk并封装service服务

发布时间:2020-03-05 15:42:37编辑:admin阅读(2665)

    一、概述

    有一个Spring Cloud的jar包,文件名为:RDS.jar。必须要jdk1.8版本,需要部署在 Centos 7.5的服务器上面,最好能设置开机自启动!

     

    二、安装jdk

    关闭防火墙

    systemctl stop firewalld.service
    systemctl disable firewalld.service

     

    安装jdk

    解压jdk

    mkdir /data
    tar zxvf jdk-8u211-linux-x64.tar.gz -C /data/

     

    添加环境变量

    vi /etc/profile

    内如如下:

    set java environment
    JAVA_HOME=/data/jdk1.8.0_211/
    JRE_HOME=/data/jdk1.8.0_211/jre     
    CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    export JAVA_HOME JRE_HOME CLASS_PATH PATH

     

    重新加载环境变量

    source /etc/profile

     

    查看java版本

    # java -version
    java version "1.8.0_211"
    Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

     

    启动java应用

    创建应用目录

    mkdir /data/rds/

    将RDS.jar上传到此目录

     

    启动java应用

     java -jar /data/rds/RDS.jar

    出现 JVM running for 11.918,表示启动成功了。

     

    三、 封装service服务

    启动脚本

    先来创建一个启动脚本

    vim /etc/init.d/rds

     

    内容如下:

    #!/bin/bash
    #
    # auditd        Start jar package
    #
    # chkconfig: 2345 11 88
    # description: This is rds project
     
    ####### jar file path
    export PROJECT_HOME=/data/rds/
    export PROJECT_NAME=RDS
    #######
    
    ####### Start command
    export START="source /etc/profile && cd $PROJECT_HOME;nohup java -jar ${PROJECT_HOME}/${PROJECT_NAME}.jar > output.log 2>&1 &"
    
    stop_jar(){
        for i in $(ps -aux|grep $PROJECT_NAME|grep -v grep|awk '{print $2}');do
            kill -9 $i;
        done
    }
    
    case "$1" in
    start)
            echo "Starting $PROJECT_NAME"
            eval $START
            ;;
     
    stop)
            echo "Stop $PROJECT_NAME"
            stop_jar
            ;;
    restart)
            echo "Stop $PROJECT_NAME..."
            stop_jar
            echo "Starting $PROJECT_NAME"
            eval $START
            ;;
    esac

     

    封装centos7服务

    进入系统目录,创建service文件

    cd /usr/lib/systemd/system/
    vim rds.service

     

    内容如下:

    [Unit] 
    Description=rds - rds web server 
    After=network.target remote-fs.target nss-lookup.target
    
    [Service] 
    Type=forking 
    ExecStart=/etc/init.d/rds start
    ExecStop=/etc/init.d/rds stop
    PrivateTmp=true
    
    [Install] 
    WantedBy=multi-user.target

     

    说明:

    • [Unit]部分主要是对这个服务的说明,内容包括Description和After,Description用于描述服务,After用于描述服务类别

    • [Service]部分是服务的关键,是服务的一些具体运行参数的设置,这里Type=forking是后台运行的形式,ExecStart为服务的具体运行命令,ExecStop为停止命令,PrivateTmp=True表示给服务分配独立的临时空间,注意:[Service]部分的启动、重启、停止命令全部要求使用绝对路径,使用相对路径则会报错!

    • [Install]部分是服务安装的相关设置,可设置为多用户的

     

    服务脚本按照上面编写完成后,以754的权限保存在/usr/lib/systemd/system目录下
    然后执行(修改或新增文件需要执行以下语句才能生效)

     

    加载配置

    systemctl daemon-reload

     

    测试启动命令

    systemctl restart rds

     

    查看java进程是否存在

    ps -aux|grep RDS

     

    设置开机自启动

    systemctl enable rds

     

     

    本文参考链接:

    https://www.cnblogs.com/lamp01/p/8932740.html

    https://www.jianshu.com/p/6753bcc72ead


关键字