Rhel服务管理

主要参考:《鸟哥的linux私房菜(第三版)》系统服务一章。

不知哪时哪月在哪个地方看到一个记录,说linux系统中是不存在windows中的服务这一概念的,当时也就信了,可上周跟同事一起在aix上装rac,才发现linux上也是有服务这个概念的。查了下资料,现在对rhel的服务管理说些我的理解。

其实首先得疑问应该在于

服务跟程序的区别。

我在网上查了些资料,加上自己的理解,也没有搞清服务跟程序的本质区别在哪。

服务有自管理和统一管理两种。

自管理是服务本身设定是否开机自启,如果开启自启,则其在开机之后就常驻内存,当有程序调用时能够及时响应。而统一管理是通过统一管理程序进行管理的,首先这个统一管理程序一定是常驻内存,但是它管理的服务在被调用之前是不占用内存的,当系统中有程序需要该服务的时候,统一管理程序就回负责将被调用的服务调入内存启动,当调用结束后,统一管理程序又会将该服务占用的系统资源清掉。自管理没有什么需要说的概念。下面说下统一管理。

统一管理程序

原本是inetd,现在多是xinetdrhel中使用的是xinetd。但在aix上使用的仍然是inetd

Xinetd相比inetd来说,其控制项增多了,原本在inetd中增加一项服务只要在它的控制文件中加入该服务的一行记录就行了,似乎这个程序的配置文件是/etc/services。它只能设置wait还是no wait参数,这个参数是决定该服务是否有多线程支持的。如设置为wait,则当a程序在使用该服务的时候,若b程序也来请求该服务,则b程序必须进入等待,等a服务使用完毕后b才能使用该服务。而若设置成no wait参数,则多个程序可同时使用使用该服务,该服务为不同的程序分配不通的线程来实现这一点。

xinetd程序

是在/etc/xinetd.d文件夹下,为每个被管理的服务建立一个启动参数文件,这个参数文件大致以服务名命名。这个参数文件的引入,让服务启动时可以设置多种不同的参数,如该服务的用户、使用的协议、可接受的最大连接数、每个IP来源的最大连接数等等。功能就提升不少,比如限制了可接受的最大连接数就能有效的避免DDos攻击等。具体这个配置文件的详细选项解释可参考《鸟哥的linux私房菜》系统服务一章。

Xinetd程序的默认配置文件

/etc/xinetd.conf.文件。这个配置文件的作用就是若在xinetd.d文件夹下某服务的配置文件中没有某一个配置项,而默认配置文件中有这一选项,则启动该服务的时候就默认配置文件的这个选项。

再一个配置文件是/etc/services。这个文件是设定服务使用的网络端口号的,如http使用80端口等。通过修改这个配置文件可修改服务的端口号。

再说下服务的管理程序。

Rhel中提供了chkconfig命令,以及system-config-servicesntsysv两个图形界面管理窗口。Ntsysv中只能配置服务是否开机自启,功能比较单一。System-cofig-services这个图形界面可以设置启动、停止、重启服务,也可以增加或删除服务。功能还是比较齐全的。但这两个图形界面据说是rhel提供的,其他的linux发行版中没有,而chkconfig则比较普及,大部分linux发行版都是使用这个命令工具来管理服务的。

若你想

把自己的程序加入到服务中去,

若加到自管理服务中,首先需要把启动脚本放到/etc/rc.d/init.d/文件夹下面。启动脚本中必须有以下三行内容才能被chkconfig管理:

#!/bin/bash

# chkconfig: 345 25 75

# description: 随意写些描述。

第一行用于表明使用的shell程序,第二行用于配置服务的启动参数,有3个数字,第一个数字是表明在哪些运行级上开机自启,如345,是指该服务在运行级345上开机自启。第二个数字是设置开机时该服务的启动顺序,即数字越小,越先启动。第三个数字是设置关机时该服务的关闭顺序,数字越小,越先关闭。第三行是描述信息,写什么东西都行,但是没有第三行就不行,添加服务的时候会报错。

启动脚本写完后,就使用chkconfig命令就可以了。

chkconfig用法:    

         chkconfig --list [name]

         chkconfig --add <name>

         chkconfig --del <name>

         chkconfig [--level <levels>] <name> <on|off|reset|resetpriorities>

命令很简单,提供查看服务,增加服务,删除服务,和服务的启动关闭重启等。

若要把服务加到xinetd统一管理中,则需要在/etc/xinetd.d/文件夹下面新建一个该服务的启动参数文件,可以直接复制其他服务参数文件的内容,然后修改部门内容就可以了,启动脚本可以放在任何地方,只要你在该文件中的service选项中写好绝对路径就行了。启动脚本中也不需要有什么代码必须添加。

就这些了。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值