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