CentOS 中设置服务开机自启

原创 2017年01月05日 15:08:47

当我们刚打开计算机之后,就发现操作系统中已经运行了很多的程序,这些程序中有一些是操作系统的服务程序,有一些是第三方的服务比如,mysql服务,http服务等。如何有效的管理这些自启动服务是我们每一个Linux管理员必须掌握的技能,下面我们就来讲解一下如何设置centos 下,服务的开机自启动。

一、实验环境

CentOS 6.7 x64

二、方法1:ln -s 建立软连接

在CentOS中总共有7中运行级别,可以在/etc/inittab文件中进行设置,7种运行级别对应着/etc/rc.d/rc[0-6].d 这7个目录
/etc/rc.d/目录下的7种运行级别对应的7个文件夹

ps: 你可能也发现了在/etc下也有同样的7个文件夹即 /etc/rc[0-6].d ,通过查看发现/etc/rc[0-6].d其实就是/etc/rc.d/rc[0-6].d的软连接,只是为了保持和Unix的兼容性

/etc/rc[0-6].d是/etc/rc.d/rc[0-6].d的软连接

这7个目录对应着7种不同运行级别,也就是说在每一个目录下的内容表示在该运行级别下应该启动或者关闭的服务。例如我们看一下/etc/rc.d/rc5.d目录下的内容

这里写图片描述

当然你可能也发现了,这些文件是按照如下格式命名的 [KS][1-100]servicename ,它表示当系统的运行级别为5时,它会关掉以K开头的所有服务,并启动所有以S开头的服务,其实,这些服务都是/etc/init.d/中某个服务的软连接,所以真正启动的服务是/etc/init.d目录中的某一个服务,而以K/S开头建立软连接是为了表明在对应级别下应该采取的行为,K/S后面紧跟的数字表示开/关服务的优先级。

因此,如果我们自己写了一个脚本代码 如cleanupd,需要在开机级别为3的时候自启动的话,那么我们只需要把可执行的cleanupd脚本文件放到 /etc/init.d目录下,并在对应的运行级别目录下 如/etc/rc.d/rc3.d/ 建立一个以S开头后加数字的软连接到/etc/init.d/cleanupd即可,如

[root@nichao ~]# ln -s /etc/init.d/cleanupd /etc/rc.d/rc3.d/S95cleanup

显然,这样的设置方式比较繁琐,仅仅适合于我们想DIY的脚本服务。

三、方法2:chkconfig

鉴于上面的手工操作比较繁琐,在CentOS中专门提供了chkconfig 命令来设置或者取消开机自启动服务。

chkconfig --list

使用chkconfig 或者 chkconfig –list就可以看出当前系统已经设置的各个服务在各个运行级别下的开闭状态。如果我们想设置某个服务自启动或者关闭的话,那么只需要按照下面的格式使用即可

chkconfig servicename on/off

设置sshd 开机自启

如上图可以看到,我们设置sshd服务开机自启,但是它的缺省自启的运行级别是在2345上的,我们可以在设置的时候加上–level 参数来明确表明需要在哪些级别上自启。
如:chkconfig –level 35 sshd on 表示在级别3和5上开机自启动

设置sshd 在3 5 级别自启动
如图所示,在级别为3 5的时候,sshd服务被设置为启动状态,而2 4 级别则设置为关闭状态。

四、方法3:ntsysv伪图形

ntsysv和chkconfig其实是一样的,只是提供gui界面而已。
在shell中有两种方式可以调出gui界面,一种直接输入ntsysv 另一种输入setup 然后选择系统服务
这里写图片描述

通过这种方式设置的话,所设置的服务启动/关闭都是针对于当前的运行级别的,如何我当前的运行级别是3那么这种方式设置完成之后,所对应的操作只对运行级别3生效,也即等价于使用如下命令进行的设置

chkconfig --level 3 sshd on

当然我们可以对ntsysv进行配置,即使用ntsysv –level 2345选项来设置,那么生效的服务就是针对–level中所提到的级别有效了。

五、总结

显然,第一种方法适合DIY自己的服务,而后两种方法则适合配置系统中存在的服务比如ftp ssh等。如果想针对某一项服务进行开启,重启,关闭,查看状态等操作的话可以使用如下方式进行,以sshd服务为例
1)

/etc/init.d/sshd start|restart|stop|status

2)

service sshd start|restart|stop|status
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

CentOS 7设置开机启动服务,添加自定义系统服务

CentOS 7设置开机启动服务,添加自定义系统服务 建立服务文件 保存目录 设置开机自启动 其他命令 1.建立服务文件文件路径vim /usr/lib/systemd/system/nginx.se...

CentOS设置服务开机启动的两种方法

CentOS设置服务开机启动的两种方法
  • educast
  • educast
  • 2015年11月01日 15:48
  • 15778

centos开机自动启动SVN服务的方法

centos开机自动启动SVN服务的方法1、编辑rc.local文件 vi /etc/rc.d/rc.local2、加入如下启动命令 /usr/bin/svnserve -d -r /home/s...

CentOS 程序开机自启动方法总结

1、把启动程序的命令添加到/etc/rc.d/rc.local文件中 CentOS系统下管理开机自启动的配置文件是/etc/rc.d/rc.local,所以只需编辑这个文件,在里面加入相应的启动命令...

CentOS设置程序开机自启动的方法

在CentOS或者RedHat其他系统下,如果是后面安装的服务,如httpd、mysqld、postfix等,安装后系统默认不会自动启动的。就算手动执行/etc/init.d/mysqld start...
  • fwenzhou
  • fwenzhou
  • 2013年04月08日 12:29
  • 10807

Linux_CentOS7自定义开机自启动

1、nginxvim /etc/init.d/nginx#!/bin/bash # nginx Startup script for the Nginx HTTP Server # it is v.0...

【记录】我的一个Centos开机自启动脚本的制作

原文地址:http://www.2cto.com/os/201306/220559.html 我的一个Centos开机自启动脚本的制作   一、切换到/etc/init.d/   二、制作s...
  • jiasike
  • jiasike
  • 2014年12月23日 20:54
  • 2181

CentOS设置开机自启动服务的两种方法

CentOS设置服务开机启动的两种方法 收藏 举报 本文章已收录于: 1、利用 chkconfig 来配置启动级别 在CentOS或者RedHat其他系统下,如果是后面安装的服务...

CentOS开机自动运行程序的脚本

有些时候我们需要在服务器里设置一个脚本,让他一开机就自己启动。方法如下: cd /etc/init.d vi youshell.sh #将youshell.sh修改为你自己的脚本名 编写自己的...
  • jiedushi
  • jiedushi
  • 2011年09月11日 14:56
  • 39865

linux CentOS 下设置 tomcat开机自启动

linux CentOS 下设置 tomcat开机自启动
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CentOS 中设置服务开机自启
举报原因:
原因补充:

(最多只允许输入30个字)