linux开机启动服务,Linux开机启动服务

1.Linux运行级别

Linux开机启动服务的相关目录就是/etc/rc.d。目录下有以下文件:

33469d17ecd99e1e2c2af4807d85c9f1.png

这里面有rc0.d~rc6.d这7个目录,就分别对应7个运行级别。

0:系统停机状态,系统默认运行级别不能设置为0,否则不能正常启动,机器关闭。

1:单用户工作状态,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录。

2:多用户状态,没有NFS支持。

3:完整的多用户模式,有NFS,登陆后进入控制台命令行模式。

4:系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。

5:X11控制台,登陆后进入图形GUI模式,X Window系统。

6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。运行init 6机器就会重启。

使用runlevel指令可以查看当前的运行级别:

b3ab59716931d23c2cc98e61492b3ca5.png

使用init指令可以切换运行级别(以前使用init 0关机和init 6重启,现在终于明白是肿么回事了)。

话题回来,那这几个目录跟开机启动服务有什么关系呢?进入最常用的rc3.d(也就是命令行模式)来看看下面有什么文件:

243a572aa7bcec661556a821bfcc433d.png

里面有几个奇怪的ln文件,不造干什么的是不是。别急,返回上一层目录,进入init.d:

cdf6cb84f517ec3a3401e0b9953951bd.png

init.d目录下存放的是service脚本文件(经常service操作就是执行这下面的指令,例如service network start),发现这下面的文件是与rc3.d有联系的。rcN.d下文件的命名规则是K+nn+服务名或S+nn+服务名,其中nn为两位数字。但系统进入不同的运行级别时,会进入对应的rcN.d目录。以K开头的文件,系统将终止对应的服务;以S开头的文件,系统将启动对应的服务。

2.chkconfig指令:

chkconfig --list #查看所有服务在不同运行级别开机状态

7c50486a217d933128d6e3e854a7a152.png

来看下每个服务在运行级别3下的 状态,在看下rc3.d下的文件,是不是发现了它俩之间的关系。没错,以K开头的文件,对应的状态为off,就是进入这个运行级别时被关闭;以S开头的文件,对应的状态为on,就是进入这个运行级别时被启动。

chkconfig还可以添加、删除开机启动服务,也可以为服务设置在哪个运行级别中开机启动:

chkconfig --add httpd #增加httpd服务

chkconfig --del httpd #删除httpd服务

chkconfig --level httpd 2345 on #把httpd在运行级别为2、3、4、5的情况下都是on的状态

当你使用yum安装某个服务时,会在init.d/下生成该服务脚本,这时就可以使用chkconfig设置该服务开机启动。

3.CentOS7中的开机启动服务:

lz发现CentOS7的服务安装与以前版本有所不同,自己便亲自操作了一下,过程如下:

lz在自己虚拟机上安装nginx来作为实验对象。

rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

yum install nginx

这时并没有在init.d/下生成nginx的脚本。lz执行如下指令:

service nginx start

47f3a490775af7c9d38c066eceb066af.png

它把服务的启动重定向到了systemctl指令。CentOS7使用该指令来管理服务,所以开机启动可以这样设置:

systemctl enable nginx.service #增加nginx服务

systemctl disable nginx.service #删除nginx服务

systemctl list-unit-files #查看所有开机启动的服务

4.开机执行指令启动:

如果某个服务并没有加入chkconfig或者systemctl管理中(例如直接将tar包解压到系统上的服务),该怎么处理呢?

在rc.d/下还有一个未提及的文件rc.local文件,lz就利用它来启动服务。

在该文件中加入启动服务的指令

vim /etc/rc.d/rc.local

/usr/tomcat/bin/startup.sh &

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值