日期:2014-05-16  浏览次数:20803 次

linux服务和启动流程

?

1. linux服务(daemon):stand alone(服务可单独启动)和super daemon(通过xinetd统一管理的服务)。

?

1.1 stand alone daemon启动的脚本放置在/etc/init.d/这个目录中,

启动规则一:/etc/init.d/rsync {start|stop|status|restart|condrestart}

启动规则二:service rsync start

特点:daemon常驻内存,响应快,无服务启动时间。

?

?

1.2 super daemon的配置文件/etc/xinetd.conf,个别daemon配置文件则放在/etc/xinetd.d/*内,

启动规则统一为:/etc/init.d/xinetd restart.

特点:由super daemon统一管理,仅当客户请求时,super daemon才唤醒相应的服务。

常用命令:

grep -i 'disable' /etc/xinetd.d/* #查看super daemon所管理的服务有哪些启动

grep 'rsync' /etc/services #查看rsync占用的端口号

netstat -tnlp|grep 873 #查看873端口是否正在监听

?

1.2.1 xinetd.conf配置文件讲解

?

defaults
{
        log_type        = FILE /var/log/xinetd.log 
        log_on_success  = HOST EXIT DURATION
        log_on_failure  = HOST ATTEMPT
#       only_from       = localhost           #允许哪些ip访问服务
        instances       = 30
        cps             = 50 10
}
includedir /etc/xinetd.d    #由super daemon监管的所有daemon的配置文件存放目录
?

?

1.2.2 super daemon管理的daemo的配置文件讲解(以rsync服务为例):

?

service rsync
{
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = root
        server          = /usr/sbin/rsyncd
        server_args     = --daemon
        disable         = no
}

?服务名和/etc/xinetd.d/rsync脚本名称必须一致,否则会出错。

?

1.2.3 服务的防火墙 xinetd

任何以xinetd管理的服务都可以通过/etc/hosts.allow,/etc/hosts.deny来设置防火墙。

格式:

服务(即程序名称) : ip domain hostname : 操作

注意:程序名需要在/etc/xinetd.d/*相关配置文件中查找server参数的值,如上面server=/usr/sbin/rsyncd,则表示rsync服务的程序名称是rsyncd.



2. 系统服务设置
2.1 管理系统服务默认开机启动与否
/sbin/chkconfig --list [服务名称]
/sbin/chkconfig [--level [0123456]] [服务名称] [on|off]
例如:
/sbin/chkconfig --level 35 rsync on #让服务rsync在run level为3,5时启动。
/sbin/chkconfig rsync on #若不写level,则默认为3,5
/sbin/chkconfig --list
/sbin/chkconfig --list rsync
补充:more /etc/services #查看系统所有服务和相应端口

2.2 设置自己的系统服务
/sbin/chkconfig [--add|--del] 服务名称
参数:
--add 增加一个服务名称给chkconfig来管理,该服务名称必须在/etc/init.d内

3 启动流程