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配置文件讲解

 

Java代码   收藏代码
  1. defaults  
  2. {  
  3.         log_type        = FILE /var/log/xinetd.log   
  4.         log_on_success  = HOST EXIT DURATION  
  5.         log_on_failure  = HOST ATTEMPT  
  6. #       only_from       = localhost           #允许哪些ip访问服务  
  7.         instances       = 30  
  8.         cps             = 50 10  
  9. }  
  10. includedir /etc/xinetd.d    #由super daemon监管的所有daemon的配置文件存放目录  
 

 

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

 

Java代码   收藏代码
  1. service rsync  
  2. {  
  3.         socket_type     = stream  
  4.         protocol        = tcp  
  5.         wait            = no  
  6.         user            = root  
  7.         server          = /usr/sbin/rsyncd  
  8.         server_args     = --daemon  
  9.         disable         = no  
  10. }  

 服务名和/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 启动流程
内核主动调用init进程
init进程开始执行系统初始化(/etc/rc.d/rc.sysinit)
依据init的设置进行daemon start(/etc/rc.d/rc[0-6].d/*)
加载本机设置(/etc/rc.d/rc.local)

补充:
1. 各脚本目录解释
Java代码   收藏代码
  1. /etc/init.d/*       #启动脚本放置处  
  2. /etc/rc.d/init.d/           #CentOS放在此目录  
  3. /etc/sysconfig/*    #各服务的初始化环境配置文件  
  4. /etc/xinetd.conf,/etc/xinetd/*  #super daemon配置文件  
  5. /etc/*          #各服务各自的配置文件  
  6. /var/lib/*          #各服务产生的数据库  
  7. /var/run/*      #各服务的程序的PID记录处  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值