三十、Linux服务

king's blog
前面章节有提到过服务,比如我们修改了ip之后,需要重新网络服务(service network restart)等,那本节我们就来专门聊一聊linux的服务,主要内容如下:
一、daemon与service概述
二、daemon的分类
三、系统的端口分配及daemon的启动脚本
四、stand daemon的启动方式
五、super daemon的启动方式
六、系统防火墙管理xinetd
七、如何设置服务开机启动

一、daemon与service概述

简单来说,系统为了某些功能必须要提供一些服务,这个服务就称为service。但是service的提供总是需要程序的运作,这个程序就成为daemon(守护进程),比如提供定时服务(crontab)的程序为crond,则crond就称为daemon。

二、daemon的分类

1、根据daemon的启动和管理方式区分

stand alone
该类型的daemon可以自行启动而不用透过其他机制的管理,daemon启动并加载到内存后就一直占用内存与系统资源,常用的该种类型有www的 daemon(httpd)、FTP的daemon(vsftpd)等

super daemon
没有客户端的请求时,各项服务都是未启动的;等客户端有请求时,super daemon才唤醒相对应的服务,当客户端的要求结束后,被唤醒的这个服务也会关闭并释放系统资源。同时这个服务的启动方式都是有统一的daemon进行唤起服务(xinetd来管理)。super daemon又分两种:multi-threaded(多重线程)、single-threaded(单个线程)

2、根据daemon提供服务的工作状态来区分

single-control
该种方式是通过讯号来管理的,只要有任何客户端请求,它就会立刻启动出来,比如打印机服务(cupsd)

interval-control
采用轮询的方式,隔一段时间去主动的执行某项工作。

三、系统的端口分配及daemon的启动脚本

linux中关于服务的相关路径如下:
1、/etc/services:系统的端口分配
2、/etc/init.d/*:系统所有服务的启动脚本放置处
3、/etc/sysconfig/*:系统各种服务的初始化环境配置文件
4、/etc/xinetd.conf,/etc/xinetd.d/*:super daemon配置文件
5、/etc/*:各服务各自的配置文件
6、/var/lib/*:各服务产生的数据库

四、stand daemon的启动方式

stand daemon的启动方式有2种,如下:
方法一:直接去/etc/init.d/*去启动,比如查看网络服务状态
方法二:直接通过服务名来启动,格式:service 服务名 status/restart/start/stop

例子:启动网络服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#1.通过/etc/init.d/*来启动
ETS157:~ # /etc/init.d/network restart
Shutting down network interfaces:
    eth1      device: Intel Corporation 82540EM Gigabit Ethernet Co  done
Shutting down service network  .  .  .  .  .  .  .  .  .             done
Hint: you may set mandatory devices in /etc/sysconfig/network/config
Setting up network interfaces:
    eth1      device: Intel Corporation 82540EM Gigabit Ethernet Co
    eth1      IP address: 10.80.13.1/24                              done
Setting up service network  .  .  .  .  .  .  .  .  .  .             done
You have new mail in /var/mail/root


#2.通过service服务来启动
ETS157:~ # service  network restart
Shutting down network interfaces:
    eth1      device: Intel Corporation 82540EM Gigabit Ethernet Co  done
Shutting down service network  .  .  .  .  .  .  .  .  .             done
Hint: you may set mandatory devices in /etc/sysconfig/network/config
Setting up network interfaces:
    eth1      device: Intel Corporation 82540EM Gigabit Ethernet Co
    eth1      IP address: 10.80.13.1/24                              done
Setting up service network  .  .  .  .  .  .  .  .  .  .             done

五、super daemon的启动方式

super daemon虽然也是常驻内存当中,但很多服务是否要启动是写在配置文件里的(/etc/xinetd.d/*),如果disabel=yes表示不启动,=no表示要启动,可修改该文件,然后重启xinetd.d即可 (/etc/xinetd.d restart)

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#1。查看/etc/xinetd.d下的文件列表
ETS157:/etc/xinetd.d # ll
total 72
-rw-r--r-- 1 root root  313 Nov 15  2011 chargen
-rw-r--r-- 1 root root  333 Nov 15  2011 chargen-udp
-rw-r--r-- 1 root root  258 Sep 22  2011 cups-lpd
-rw-r--r-- 1 root root  313 Nov 15  2011 daytime
-rw-r--r-- 1 root root  333 Nov 15  2011 daytime-udp
-rw-r--r-- 1 root root  313 Nov 15  2011 discard
-rw-r--r-- 1 root root  332 Nov 15  2011 discard-udp
-rw-r--r-- 1 root root  305 Nov 15  2011 echo
-rw-r--r-- 1 root root  324 Nov 15  2011 echo-udp
-rw-r--r-- 1 root root  492 Jan 24  2012 netstat
-rw-r--r-- 1 root root  207 Jun  1  2011 rsync
-rw-r--r-- 1 root root  332 Nov 15  2011 servers
-rw-r--r-- 1 root root  334 Nov 15  2011 services
-rw-r--r-- 1 root root  277 Feb  4  2012 swat
-rw-r--r-- 1 root root  536 Feb  3  2012 systat
-rw-r--r-- 1 root root  339 Nov 15  2011 time
-rw-r--r-- 1 root root  333 Nov 15  2011 time-udp
-rw-r--r-- 1 root root 2271 Apr 28  2016 vnc

#2.查看time文件
ETS157:/etc/xinetd.d # cat time
# default: off
# description: An RFC 868 time server. This is the tcp version,
# which is used by rdate.

service time
{
        type            = INTERNAL
        id              = time-stream
        socket_type     = stream
        protocol        = tcp
        user            = root
        wait            = no
        disable         = yes------------------------->表示要不启动
        FLAGS           = IPv6 IPv4
}

六、系统防火墙管理xinetd

任何以xinetd管理的服务,都可以通过/etc/hosts.allow、/etc/hosts.deny来设定防火墙,且前者的优先级高于后者,文件内容格式如下:
服务 : IP或主机名 :动作,比如:
rsync : 127.0.0.100 127.0.0.101 : deny —->表示这两个ip不能通过rsync进入主机
前两个字段可能的值如下:
ALL:代表全部的program_name或者IP都接受的意思,比如ALL:ALL:deny
LOCAL:代表本机的意思,比如: ALL:LOCAL:allow
UNKNOWN:代表不知道的ip或者domain或者服务
KNOWN:代表可解析的ip,domain等信息

七、如何设置服务开机启动

chkconfig –list [服务名称] :显示指定服务开机默认是否启动
chkconfig –level [服务名称]:设定某个服务在该level下启动或关闭
比如:chkconfig –level 345 atd on (让atd服务在run level为3,4,5时启动

chkconfig –add / –del [服务名称] :增加/删除一个服务名称给chkconfig来管理,该服务名称必须在/etc/init.d内(比如让oracle开机启动)

Tags:
文 / 甲乙丙丁
LEAVE A REPLY

loading