• centos 7安装jdk并封装service服务


    一、概述

    有一个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

  • 相关阅读:
    mysql中bigint、int、mediumint、smallint 和 tinyint的取值范围
    centos6.5下安装samba服务器与配置
    centos 6.5 安装图形界面【转】
    Linux 下添加用户,修改权限
    Linux下自动调整时间和时区与Internet时间同步
    C#下利用封包、拆包原理解决Socket粘包、半包问题(新手篇)
    Unity脚步之NetworkBehaviour下前进、后退、左右转向的简单移动
    Token 在 Ajax 请求头中,服务端过滤器跨域问题
    【游戏】【暗黑2】重置属性点和技能点
    ASCII
  • 原文地址:https://www.cnblogs.com/xiao987334176/p/11678894.html
Copyright © 2020-2023  润新知