一、概述

有一个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..0_211/
JRE_HOME=/data/jdk1..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) -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:
# 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 - $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

centos 7安装jdk并封装service服务的更多相关文章

  1. centos 下安装jdk、tomcat 以及tomcat无法从外部访问的解决办法

    centos 下安装jdk.tomcat 以及tomcat无法从外部访问的解决办法 原创 2014年08月28日 10:24:33 标签: selinux enforce cent 2223 昨天在c ...

  2. centos上安装jdk

    今天在centos上安装jdk,总结步骤如下:1.先到oracle下载rpm包:jdk-7u80-linux-x64.rpm (下载地址在百度找找)2.把jdk-7u80-linux-x64.rpm上 ...

  3. centos 7 安装JDK (Linux安装jdk)

    centos 7安装JDK (Linux安装jdk) 第一部分 首先查看centos 7是否有openjdk,如没有就跳过第一部分,直接第二部分. [master@bogon ~]$ java -ve ...

  4. CentOS下安装JDK,Tomcat,Redis,Mysql,及项目发布

    上传文件到服务器,安装lrzsz , 可以将本地的文件上传到linux系统上. 如果是CentOS则可以用yum install lrzsz 命令安装,更方便. 或:yum -y install lr ...

  5. linux (centOS)安装jdk+tomcat+nginx

    一..安装jdk, 下载jdk有两种方式: 1.直接去官网找相应版本下载:http://www.oracle.com/technetwork/java/javase/downloads/index.h ...

  6. 【CentOS】安装jdk

    问题描述:       jdk安装与配置   (1)查看是否安装jdk --CentOS默认自带openjdk         先查看 rpm -qa | grep java         显示如下 ...

  7. CentOS 下安装JDK

    前提条件 使用干净的centOS 之前肯定没有装过JDK 所以忽略卸载步骤 <1>从SUN下载jdk-1_5_0_14-linux-i586-rpm.bin或jdk-1_5_0_14-li ...

  8. centos上安装jdk环境

    老沙采用的环境是centos 6.5 64位服务器.在linux上安装jdk环境都很多中方式,这里讲解下手工进行安装并进行环境变量配置. 首先需要下载一个64位版本的linux,可以去oracle官网 ...

  9. CentOS中安装JDK与Intellij idea

    卸载CentOS中自带openjdk CentOS自带openjdk,可以先用java –version检测是否存在jdk版本.如果存在,最好在安装oracle的jdk之前最好卸载,可以使用如下指令 ...

随机推荐

  1. 洛谷 P1396

    P1396 传送门 扯些题外话 讲真的我刚看到这个题的时候真的傻fufu的..... 大体题意 找出从s走到t的拥挤度最大值最小.. 思路 说最大值最小可能就会有dalao开始二分了. 想我这种的蒟蒻 ...

  2. SQL进阶-隐式类型转换

    一.隐式类型转换 1.隐式类型转换 隐式类型转换: '; 程序可读性差,且依赖数据库的隐式转换规则,如果数据库升级,则程序可能无法正确执行: 有可能会导致索引失效: 有可能会导致意想不到的结果: 显式 ...

  3. CF241E Flights 题解

    题目 做了一下这道题,突然发现自己忘了差分约束,赶紧复习一下. 设当前有n个变量 a1,a2,...,an ,有若干组限制形如 ai≤aj+k (其中k为常数),则由点j向点i连一条边权为k的边,再从 ...

  4. while循环 运算符和编码

    昨日回顾 1. 初识python python是一门弱类型的解释型高级编程语言 解释器: CPython 官方提供的默认解释器. c语言实现的 PyPy 把python程序一次性进行编译. IPyth ...

  5. 树形dp专题总结

    树形dp专题总结 大力dp的练习与晋升 原题均可以在网址上找到 技巧总结 1.换根大法 2.状态定义应只考虑考虑影响的关系 3.数据结构与dp的合理结合(T11) 4.抽直径解决求最长链的许多类问题( ...

  6. Elasticsearch与Solr优缺点比较

    Elasticsearch简介 Elasticsearch是一个实时的分布式搜索和分析引擎.它可以帮助你用前所未有的速度去处理大规模数据. 它可以用于全文搜索,结构化搜索以及分析,也可以将这三者进行组 ...

  7. pyqt(day3)

    一.在pycharm中配置qtdesigner C:\Python\Python37\Lib\site-packages\pyqt5_tools\designer.exe 二.ui文件转换成pytho ...

  8. error: dereferencing pointer to incomplete type

    /******************************************************************************* * error: dereferenc ...

  9. mysql插入报错:java.sql.SQLException: Incorrect string value: '\xE6\x9D\xAD\xE5\xB7\x9E...' for column 'address' at row 1

    界面报错: 日志报错: java.sql.SQLException: Incorrect at com.mysql.cj.jdbc.exceptions.SQLError.createSQLExcep ...

  10. unity 如何打开本地文件夹,并选中文件

    public static void OpenDirectory(string path, bool isFile = false) { if (string.IsNullOrEmpty(path)) ...