linux 服务初识

时间:2022-05-10 11:27:33

1. daemon 和 service

  系统为了实现某些功能,必须提供一些服务(service),但是service的提供总是需要进程的运行,实现service 的程序我们称为daemon(“守护神”,"恶魔").

  1.1用chkconfig查看当前开启的服务:

     a: 先用runlevel查看当前的运行等级

   b: 用chkconfig查看当前运行等级下开启的服务

   linux 服务初识

  1.2 用ntsysv查看并设置当前运行级别的服务

    linux 服务初识

2.daemon的分类

  2.1 stand_alone: 此类型daemon可以自行单独启动服务,而不需要通过其他的机制进行管理. 一直存在内存中,持续提供服务,响应速度快。

  2.2 super_daemon: 一个特殊的daemon来统一管理。 用于管理其他daemon的daemon称为super daemon。 我用的centos mini的super daemon是xinetd.

    linux 服务初识

    如果没有xinetd 可以通过yum install xinetd 安装.

    当有来自客户端的请求的时候才开启响应的服务。 当请求结束后,被唤醒的这个服务也会关闭并释放资源. 而且具有安全管理机制。 但是反应速度上会慢一些。

3. daemon的操作

    centos中的daemon的启动脚本基本上放置在这些地方:

    /etc/init.d/* :  系统几乎所有的服务启动脚本都放在这里。

    /etc/sysconfig/* :  各个服务的初始化环境配置文件. 例如网络的设置写在 /etc/sysconfig/network 中.

    /etc/xinetd.d/*  ,  /etc/xinetd.conf : super daemon 的配置文件

  3.1 stand alone daemon启动

     3.1.1: stand alone 的 /etc/init.d/* 启动

      linux 服务初识

    3.1.2: stand alone 的 service 启动方法

  linux 服务初识

  3.2 super daemon的启动

  super daemon 本身就是一个stand alone的服务,因为super daemon要常驻内存,管理其他的服务。因此,super daemon的启动方式和其它的stand alone的启动是一样的。 但是它所管理的daemon就不能这样做了,需要在配置文件中设置为启动该daemon,这些配置文件就是/etc/xinetd.d/*的所有文件。

  查看是否允许super daemon所管理的daemon启动:

  linux 服务初识

  disable=yes表示取消此服务的启动。

  例如,如果想启动telnet , 就直接修改/etc/xinetd.d/telnet 文件中的disable=no. 然后重启xinetd这个super daemon.  telnet 所占用的端口号是23

        linux 服务初识

  需要注意的是,开启23号端口的服务不是telnet,而是xinetd,因为它要控制telnet.