一、redis添加开机自启

1、添加服务配置文件

[root@test system]# vim /etc/systemd/system/redis-server.service

2、服务配置文件内容(前面红色字体是启动脚本,后面红色字体是配置文件);注意️ 服务文件路径要写绝对路径

[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /etc/redis.conf
PrivateTmp=true [Install]
WantedBy=multi-user.target

3、重新加载服务的配置文件

[root@test system]# systemctl daemon-reload

4、启动redis服务

[root@test system]# systemctl start redis-server.service

5、设置开机自启

[root@test system]# systemctl enable redis-server.service

6、查看redis服务运行状态

[root@test system]# systemctl status redis-server.service
● redis-server.service - redis-server
Loaded: loaded (/etc/systemd/system/redis-server.service; enabled; vendor preset: disabled)
Active: active (running) since 五 -- :: CST; 1h 53min ago
Process: ExecStart=/usr/local/bin/redis-server /etc/redis.conf (code=exited, status=/SUCCESS)
Main PID: (redis-server)
CGroup: /system.slice/redis-server.service
└─ /usr/local/bin/redis-server *:
9月 :: zx- systemd[]: Starting redis-server...
9月 :: zx- systemd[]: Started redis-server.

二、Tomcat添加开机自启

1、添加服务配置文件

[root@test system]# vim /etc/systemd/system/tomcat-server.service

2、配置服务文件内容

[Unit]
Description=tomcat
After=network.target
[Service]
Type=forking
ExecStart=/www/server/tomcat/bin/startup.sh
ExecStop=/www/server/tomcat/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target

3、重新加载服务的配置文件

[root@test system]# systemctl daemon-reload

4、启动tomcat服务  

[root@test system]# systemctl start tomcat-server.service  

5、设置开机自启

[root@001 system]# systemctl enable tomcat-server.service

6、查看tomcat服务状态

[root@test system]# systemctl status redis-server.service
  • 有时候可能报错错误“Neither the JAVA_HOME nor the JRE_HOME environment variable is defined”
  • 原因服务启动没有状态jdk环境变量配置,有可能你没有在/etc/profile中配置,
  • 如果配置还是不起作用可以在tomcat/bin/下找到setclasspath.sh脚本在头部添加两行信息即可解决
  • export JAVA_HOME=/opt/jdk1.8.0_102/
    export JRE_HOME=/opt/jdk1.8.0_102/jre/ 
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk/
JAVA_JRE=/usr/lib/jvm/java-1.8.0-openjdk/jre/
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME CLASSPATH PATH
● tomcat-server.service - Internet of things platform
Loaded: loaded (/etc/systemd/system/tomcat-server.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since 五 2020-09-18 16:29:26 CST; 22s ago
Process: 14373 ExecStart=/www/server/tomcat/bin/startup.sh (code=exited, status=1/FAILURE)
9月 18 16:29:26 test systemd[1]: Starting Internet of things platform...
9月 18 16:29:26 test startup.sh[14373]: Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
9月 18 16:29:26 test startup.sh[14373]: At least one of these environment variable is needed to run this program
9月 18 16:29:26 test systemd[1]: tomcat-server.service: control process exited, code=exited status=1
9月 18 16:29:26 test systemd[1]: Failed to start Internet of things platform.
9月 18 16:29:26 test systemd[1]: Unit tomcat-server.service entered failed state.
9月 18 16:29:26 test systemd[1]: tomcat-server.service failed.

三、SpringBoot添加开机自启

1、添加服务配置文件

[root@test system]# vim /etc/systemd/system/spring-boot-server.service

2、服务配置文件内容

[Unit]
Description=SpringBoot
After=network.target mariadb.target
[Service]
Type=forking
ExecStart=/usr/bin/java -jar /spring/spring-boot.jar
ExecReload=/usr/bin/ps -ef | grep spring-boot.jar | grep -v grep | awk '{print $2}' | xargs kill -9 && java -jar/spring/spring-boot.jar
ExecStop=/usr/bin/ps -ef | grep spring-boot.jar | grep -v grep | awk '{print $2}' | xargs kill -9
Restart=always
[Install]
WantedBy=multi-user.target

3、重新加载服务的配置文件

[root@test system]# systemctl daemon-reload

4、启动SprinBoot服务

[root@test system]# systemctl start spring-boot-server.service

5、设置开机自启

[root@test system]# systemctl enable spring-boot-server.service

6、查看SprinBoot服务运行状态

[root@test system]# systemctl status spring-boot-server.service
● spring-boot-server.service - SpringBoot
Loaded: loaded (/etc/systemd/system/spring-boot-server.service; enabled; vendor preset: disabled)
Active: activating (start) since 五 2020-09-18 21:45:16 CST; 37s ago
Control: 19563 (java)
CGroup: /system.slice/spring-boot-server.service
└─19563 /usr/bin/java -jar /spring/spring-boot.jar 9月 18 21:45:26 test java[19563]: 2020-09-18 21:45:26:522|INFO |main|springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator| Generating uniqu...geUsingGET_9
9月 18 21:45:26 test java[19563]: 2020-09-18 21:45:26:522|DEBUG|main|springfox.documentation.spring.web.readers.operation.OperationModelsProvider| Adding return paramete...mmon/Result;
9月 18 21:45:26 test java[19563]: 2020-09-18 21:45:26:523|DEBUG|main|springfox.documentation.spring.web.readers.operation.OperationModelsProvider| Reading parameters mod...Method |add|
9月 18 21:45:26 test java[19563]: 2020-09-18 21:45:26:523|DEBUG|main|springfox.documentation.spring.web.readers.operation.OperationModelsProvider| Finished reading param...Method |add|
9月 18 21:45:26 test java[19563]: 2020-09-18 21:45:26:523|DEBUG|main|springfox.documentation.swagger.readers.operation.SwaggerOperationModelsProvider| Reading parameters...Method |add|
9月 18 21:45:26 test java[19563]: 2020-09-18 21:45:26:523|DEBUG|main|springfox.documentation.spring.web.scanners.ApiModelReader| Generated parameter model id: Result, na...a: {} models
9月 18 21:45:26 test java[19563]: 2020-09-18 21:45:26:523|DEBUG|main|springfox.documentation.spring.web.scanners.ApiModelReader| Adding a new model with key Result
9月 18 21:45:53 iZwz9busydk4rcachg5ykzZ java[19563]: 2020-09-18 21:45:53:650|DEBUG|DefaultQuartzScheduler_QuartzSchedulerThread|org.quartz.core.QuartzSchedulerThread| batch acquisition of 1 triggers
9月 18 21:45:53 test java[19563]: 2020-09-18 21:45:53:667|DEBUG|quartzScheduler_QuartzSchedulerThread|org.quartz.core.QuartzSchedulerThread| batch acquisition of 0 triggers
Hint: Some lines were ellipsized, use -l to show in full.

补充服务配置文件

Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

配置文件参考链接

Centos 7 redis、tomcat、Spring Boot添加开机自启服务的更多相关文章

  1. Redis单机部署、添加开机自启、配置参数

    1.Redis简介 redis是使用C语言编写的开源的,支持网络,基于内存,可持久性的键值对存储数据库,2013年5月之前,Redis是最流行的键值对存储数据库,Redis采用内存数据集,支持多种数据 ...

  2. linux中添加开机自启服务的方法

    往文件/etc/rc.d/rc.local中追加内容即可,如: /mongodb/start_mongoDB.sh

  3. Spring Boot 添加JSP支持【转】

    Spring Boot 添加JSP支持 大体步骤: (1)            创建Maven web project: (2)            在pom.xml文件添加依赖: (3)     ...

  4. Https系列之二:https的SSL证书在服务器端的部署,基于tomcat,spring boot

    Https系列会在下面几篇文章中分别作介绍: 一:https的简单介绍及SSL证书的生成二:https的SSL证书在服务器端的部署,基于tomcat,spring boot三:让服务器同时支持http ...

  5. Spring Boot 和 Docker 实现微服务部署

    Spring boot 开发轻巧的微服务提供了便利,Docker 的发展又极大的方便了微服务的部署.这篇文章介绍一下如果借助 maven 来快速的生成微服务的镜像以及快速启动服务. 其实将 Sprin ...

  6. Spring boot学习1 构建微服务:Spring boot 入门篇

    Spring boot学习1 构建微服务:Spring boot 入门篇 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框 ...

  7. spring boot / cloud (十四) 微服务间远程服务调用的认证和鉴权的思考和设计,以及restFul风格的url匹配拦截方法

    spring boot / cloud (十四) 微服务间远程服务调用的认证和鉴权的思考和设计,以及restFul风格的url匹配拦截方法 前言 本篇接着<spring boot / cloud ...

  8. spring boot / cloud (二十) 相同服务,发布不同版本,支撑并行的业务需求

    spring boot / cloud (二十) 相同服务,发布不同版本,支撑并行的业务需求 有半年多没有更新了,按照常规剧本,应该会说项目很忙,工作很忙,没空更新,吧啦吧啦,相关的话吧, 但是细想想 ...

  9. Spring boot 零配置开发微服务

    2018年12月29日星期六 体验Spring boot 零配置开发微服务 1.为什么要用Spring  boot? 1.1 简单方便.配置少.整合了大多数框架 1.2 适用于微服务搭建,搭建的微服务 ...

随机推荐

  1. Jmeter 常用函数(2)- 详解 __RandomDate

    如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.html 作用 产生一个随机日期 语法格式 ${__R ...

  2. Jmeter 常用函数(9)- 详解 __UUID

    如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.html 作用 返回 伪随机类型4 通用唯一标识符 语 ...

  3. Kettle基本使用

    Kettle基本使用 Kettle的几个子程序的功能和启动方式 Spoon.bat 图形界面方式启动作业和转换设计器. Pan.bat 命令行方式执行转换. Kitchen.bat   命令行方式执行 ...

  4. springMVC入门(五)------统一异常处理

    简介 系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过异常捕获获取异常信息,后者需通过规范代码.提高代码路绑定减少运行时异常的发生 异常处理思路:无论dao层.ser ...

  5. golang map 声明,赋值

    参考链接:https://blog.csdn.net/wide288/article/details/84303511 // 先声明map var m1 map[string]string// 再使用 ...

  6. python安装numpy、scipy、gensim以及报错unable to import 'smart_open.gcs', disabling that module处理

    首先,安装gensim库,必须先安装numpy+mkl和scipy 安装顺序是依次安装numpy+kml.scipy.gensim,根据自己Python下载的版本进行下载 如果你的库里面有numpy. ...

  7. Jigsaw pre-training:摆脱ImageNet,拼图式主干网络预训练方法 | ECCV 2020

    Jigsaw pre-training以拼图的方式从检测数据集中生成用于主干网络预训练的数据集,而不需要额外的预训练数据集,如ImageNet.另外为了让网络更好的适应拼图数据,论文提出ERF-ada ...

  8. 删除MBR分区如何使用光盘恢复

    1.备份MBR分区表 dd  if=/dev/sda  of=/data/mbr.bak  bs=1  count=64  skip=446 分区表前512字节分为三部分,第一部分446字节与启动相关 ...

  9. [BUUOJ记录] [GXYCTF2019]BabyUpload

    CTF三大骗局:Baby Easy Funny,本题主要考察.htaccess文件解析文件.文件类型检测绕过 打开题目给了一个上传点,上传一个php文件看看过滤规则 “后缀名不能有ph”直接禁掉了所有 ...

  10. .net core中使用jwt进行认证

    JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间作为JSON对象安全地传输信息.由于此信息是经过数字签名的,因此可以被验证和信任 ...