一、概述

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

最新文章

  1. 我是一只IT小小鸟——读后感
  2. jQuery8种不同的瀑布流懒加载loading效果
  3. 如何使用maven建一个web3.0的项目
  4. struts1 Demo
  5. Hibernate映射问题之OneToOne【自己整理】
  6. Gson将参数放入实体类中进行包装之后再传递
  7. Docker 使用指南 (六)—— 使用 Docker 部署 Django 容器栈
  8. C++ 读取REG_SZ 、REG_DWORD 、REG_MULTI_SZ 类型注册表值
  9. Casperjs/PhantomJs 中文网站截图乱码
  10. 使用pupperlabs yum repo
  11. Android Navigation Drawer(导航抽屉)
  12. CSS了一个浮动导航条
  13. JS定时器的使用--无缝滚动
  14. JS 实现触发下载内容(H5 download)
  15. Java并发-volatile的原理及用法
  16. Go语言中Restful模式与Routes路由框架
  17. JavaScript 方法扩展
  18. 前端知识概述----公司内部的一次分享 分类: JavaScript HTML+CSS 2015-04-16 21:24 2593人阅读 评论(2) 收藏
  19. 【逆向知识】PE ASLR
  20. vim与shell切换

热门文章

  1. 【luoguP2989】[USACO10MAR]对速度的需要Need For Speed
  2. PHP Record the number of login users
  3. 网卡可以绑定cpu提高吞吐量
  4. ES6 fetch方法封装
  5. 区间dp专题练习
  6. bootstrap弹框去除遮罩层效果
  7. 冰多多团队-第九次Scrum例会
  8. VIM 命令速查表
  9. SpringMvc的 @Valid 拦截到的异常如何抛出
  10. java字符串格式化性能对比String.format/StringBuilder/+拼接