Linux进阶二:应用服务化;(以将redis配置为系统服务为例)(其中包括大量【systemctl】系统命令)

说明:本篇博客篇幅较长,但其中的实质内容并不多;所以,本篇博客快速浏览为佳。

本篇博客参考文章有:【CentOS 将 Redis 配置为系统服务】 ,作者是【小狗快跑嘟嘟】;

目录

一:应用服务化简介

1.为什么需要应用服务化?

2.应用服务化简介

3.应用服务化的核心命令:【systemctl】及其子指令

二:案例:CentOS中将redis配置成系统服务

1.第一步:手动启动redis,并确定redis.pid文件的存在

2.第二步:在【/usr/lib/systemd/system】目录下,创建并编写redis的服务描述文件:redis.service

3.第三步:重载【/usr/lib/systemd/system】目录下的.service,让【redis服务描述文件】生效

至此,redis的服务化,就算是设置好了;然后,我们就可以使用服务化的systemctl及其子命令,来对redis这个应用进行各种操作了。

应用服务演示一:systemctl start redis:启动redis服务

应用服务演示二:systemctl status redis:查看启动后的redis状态

应用服务演示三:systemctl stop redis:关闭redis服务

应用服务演示四:systemctl restart redis:重启redis服务

应用服务演示五:systemctl enable redis:设置redis开机自启

应用服务演示六:systemctl is-enabled redis:查看redis,是否已经设置为了自启动

验证【自启动】:设置为redis自启动后,可以shutdown -r now重启系统,验证一下

应用服务演示七:systemctl disable redis:设置redis开机不自启

验证【不自启动】:设置为redis不自启动后,可以shutdown -r now重启系统,验证一下

应用服务演示八:systemctl list-unit-files:查看当前系统中,所有的服务的当前状态

如Tomcat,redis,MySQL这种重要的中间件,就可以把其设置为系统服务,这样以后就可以借由systemctl及其子命令,对其进行统一管理,然后也可以设置其为自启动;


一:应用服务化简介

1.为什么需要应用服务化?

以为redis为例,阐述如下内容:

痛点一:在Linux系统中安装redis后,启动redis、关闭redis、重启redis,都需要去redis的源代码目录,手动去调用文件:挺麻烦的!!!

痛点二:而且,安装了redis后,我们可以通过在redis安装文件目录中,手动执行【./src/redis-server redis.conf】,去加载redis.conf,启动redis;但是,当我们关闭Linux系统或者重启Linux系统时候,redis都是自动被关闭了的;然后,如果我们还想启动redis,任然需要手动执行【./src/redis-server redis.conf】;手动启动redis,这么做当然是可以的,但是在实际中,一家公司的服务器有很多台,如果每台服务器重启后都要手动去启动redis,这个工作量太大。为此,就可以将redis进行服务化,这样以后redis就会随着系统的启动而自动启动,就不需要我们手动去启动redis了。 

说白了有两个重要的痛点:(1)redis需要手动的去redis源代码目录,进行各种管理;(2)redis无法跟随Linux系统启动而自启动;

而,把redis设置成系统服务,就可以解决这个两个痛点。

……………………………………………………

2.应用服务化简介

(1)应用服务化在Windows中也存在;

(2)应用服务化的好处:通过简单的命令,就可以列出目前系统中正在运行那些服务,以及这些服务的工作状态如何,也可以通过服务管理命令对这些服务进行管理;

(3)应用服务化的核心命令:systemctl(System Control:系统控制);

          ● 在把一个应用设置成应用服务化的过程,需要大量的调用systemctl命令;

          ● 在把一个应用设置成应用服务化的过程,也可通过调用systemctl命令,来管理这个应用;

(4)【把一个应用程序以为服务的方式在后台运行】,也可以称作【把这个应用配置成系统服务】;

……………………………………………………

3.应用服务化的核心命令:【systemctl】及其子指令

【systemctl及其子指令】 要明确两点:

          ● 【在将一个应用设置成系统服务】的过程中,需要使用【systemctl及其子指令】;

          ● 【已经把一个应用设置成了系统服务后】,依旧可以使用【systemctl及其子指令】来管理这个应用;

systemctl是一个核心的命令,其涉及到了很多子指令:这些是在日常开发中,所使用到的systemctl的常用命指令;这些指令都是针对服务的;


二:案例:CentOS中将redis配置成系统服务

该案例以【redis的服务化设置】为例;

1.第一步:手动启动redis,并确定redis.pid文件的存在

启动redis后,确认redis是否有pid文件: 主要目的是:获取redis的pid文件的全路径

然后,这儿可以顺便看下pid文件的内容:  

说明:

(1) redis的pid文件【redis_6379.pid】,是一个标识,保存的是当前进程的编号;如果,我们在redis服务化以后,在redis进行重启或者是关闭的时候,需要从redis的pid文件【redis_6379.pid】中读取进程编号,对其进行kill杀进程的操作;

(2)在确认了redis的pid文件【redis_6379.pid】的文件名和路径后,就可以进行后续的动作了;

(3)在配置redis为系统服务的过程中,是否需要在redis已经被手动启动的情况下设置,尚不明确;反正,自己在设置的时候,是在redis被手动启动的情况下设置的,然后也设置OK了;(这一点,待确认吧)。。。。。即经过实测,有一点是明确的,redis没有启动的时候,在run目录下,是没有redis_6379.pid文件;;;;;;

……………………………………………………

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值