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..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服务的更多相关文章
- centos 下安装jdk、tomcat 以及tomcat无法从外部访问的解决办法
centos 下安装jdk.tomcat 以及tomcat无法从外部访问的解决办法 原创 2014年08月28日 10:24:33 标签: selinux enforce cent 2223 昨天在c ...
- centos上安装jdk
今天在centos上安装jdk,总结步骤如下:1.先到oracle下载rpm包:jdk-7u80-linux-x64.rpm (下载地址在百度找找)2.把jdk-7u80-linux-x64.rpm上 ...
- centos 7 安装JDK (Linux安装jdk)
centos 7安装JDK (Linux安装jdk) 第一部分 首先查看centos 7是否有openjdk,如没有就跳过第一部分,直接第二部分. [master@bogon ~]$ java -ve ...
- CentOS下安装JDK,Tomcat,Redis,Mysql,及项目发布
上传文件到服务器,安装lrzsz , 可以将本地的文件上传到linux系统上. 如果是CentOS则可以用yum install lrzsz 命令安装,更方便. 或:yum -y install lr ...
- linux (centOS)安装jdk+tomcat+nginx
一..安装jdk, 下载jdk有两种方式: 1.直接去官网找相应版本下载:http://www.oracle.com/technetwork/java/javase/downloads/index.h ...
- 【CentOS】安装jdk
问题描述: jdk安装与配置 (1)查看是否安装jdk --CentOS默认自带openjdk 先查看 rpm -qa | grep java 显示如下 ...
- CentOS 下安装JDK
前提条件 使用干净的centOS 之前肯定没有装过JDK 所以忽略卸载步骤 <1>从SUN下载jdk-1_5_0_14-linux-i586-rpm.bin或jdk-1_5_0_14-li ...
- centos上安装jdk环境
老沙采用的环境是centos 6.5 64位服务器.在linux上安装jdk环境都很多中方式,这里讲解下手工进行安装并进行环境变量配置. 首先需要下载一个64位版本的linux,可以去oracle官网 ...
- CentOS中安装JDK与Intellij idea
卸载CentOS中自带openjdk CentOS自带openjdk,可以先用java –version检测是否存在jdk版本.如果存在,最好在安装oracle的jdk之前最好卸载,可以使用如下指令 ...
随机推荐
- 第04组alpha冲刺(4/4)
队名:斗地组 组长博客:地址 作业博客:Alpha冲刺(4/4) 各组员情况 林涛(组长) 过去两天完成了哪些任务: 1.分配展示任务 2.收集各个组员的进度 3.写博客 展示GitHub当日代码/文 ...
- js中实现函数防抖跟函数节流
最近刚接触两个新概念函数防抖与函数节流,虽然这些内容网上可以搜到很多,大家都有自己的一套的理解方式,都写得很好, 而自己则想在理解的基础上自己把代码实现一遍,加深印象. 一.函数防抖 假如我们有这样的 ...
- linux 系统添加jdk环境变量
export JAVA_HOME=/usr/local/jdk1..0_79 export JAVA_BIN=$JAVA_HOME/bin export PATH=$PATH:$JAVA_BIN ex ...
- C++ STL(标准模板库)的学习了解
C++ STL(标准模板库)是一套功能强大的 C++ 模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量.链表.队列.栈. C++ 标准模板库的核心包括以 ...
- C复习---动态内存分配
原型extern void *malloc(unsigned int num_bytes);头文件#include <stdlib.h>#include <malloc.h>函 ...
- Linux上tomcat部署web项目,访问报错"ip访问时间过长"
项目原来是可以访问的,后来突然不能不访问了,系统ip也是能ping通的,后来就想是不是防火墙的问题,查看一下还真是 原因:Linux服务器上的防火墙开着,关闭即可 1.查看firewall服务状态 s ...
- Swift5升级遇到的AVCapturexxxDelegate的坑,写法换了
升级到swift5之后,遇到关于AVCapture的两个代理都失效了, 找了一圈,发现原因是代理方法写法变了,如果不替换,代理事件就收不到了 解决方法: 替换新写法就可以了 我这边只举例我遇到的两个例 ...
- BIO,NIO,AIO到NETTY
NIO 近期接触了几个产品都触及NIO,要么应用,要么改造项目,听多了也有些了解,但仍然不能真正理解,工期比较赶,还是要潜心下来看看. NIO是什么呢,应该是NOT-BLOCKING IO的意思,不阻 ...
- Qt编写控件属性设计器
一.前言 自从研究Qt编写自定义控件以来,一发不可收拾,越多越多人有类似的需求找我定制控件,陆陆续续写了上百个控件,目前已超过150个,于是逐渐衍生了另外一个需求,提供一个控件属性设计器,类似QtDe ...
- EasyNVR摄像机网页无插件直播方案H5前端构建之:接口调用获取实时信息
背景分析 熟悉EasyNVR产品的小伙伴应该知道,EasyNVR主要针对的是安防类的项目,通过RTSP/onvif协议将前端高清网络摄像机IPC.NVR等接入进来,然后将设备端的音视频通过采集.转换, ...