linux服务管理
十月 31, 2020
一、服务的简介与分类
1、服务的分类
RPM包默认安装的服务
这些服务是通过RPM包安装的,可以被服务管理命令识别。又分为两种子分类:
- 独立的服务:就是独立启动的意思,这类型的服务可以自行启动,而不用依赖其他的管理服务。不依赖其他管理服务,那么当客户端请求访问时,独立的服务响应请求更快速。Linux中目前大多数服务都是独立的服务,比如apache服务,FTP服务,Samba服务等。
- 基于xinetd的服务:这种服务就不能独立启动了,而是要依靠管理服务来调用这种服务。这个负责管理的服务就是xinetd服务,xinetd服务是系统的超级守护进程。xinetd服务的作用就是管理不能独立启动的服务,当有客户端请求时,先请求xinetd服务,由xinetd服务去唤醒相对应的服务。当客户端请求结束后,被唤醒的服务会关闭并释放资源。这样做的好处是只需要持续启动xinetd服务,而其他基于xinetd的服务只有在需要时才启动,不会占用过的的服务器资源。但是这种服务由于在有客户端请求时才会被唤醒,所以相应时间相对较慢。
源码包安装的服务
2、查询已经安装的服务和区分服务
1 | [root@localhost ~]# chkconfig --list [服务名] |
二、RPM包默认安装的服务管理
1、独立服务管理
1)、独立服务的启动管理
- 使用/etc/init.d/目录中的启动脚本启动服务
1 | [root@localhost ~]# /etc/init.d/httpd start |
- 使用service命令来启动独立的服务
1 | [root@localhost ~]# service 独立服务名 start|stop|restart|... |
2)、独立服务的自启动管理
- 使用chkconfig服务自启动管理命令
1 | [root@localhost ~]# chkconfig [--level 运行级别] [独立服务名] [on|off] |
- 修改/etc/rc.d/rc.local文件,设置服务自启动
1 | [root@localhost ~]# vi /etc/rc.d/rc.local |
- 使用ntsysv命令管理自启动
1 | [root@localhost ~]# ntsysv [--level 运行级别] |
这个命令的操作是这样的:
- 上下键:在不同服务之间移动
- 空格键:选定或取消服务的自启动。就是在服务之前是否打入“*”
- tab键:在不同项目间切换
- F1键:显示服务的说明
2、基于xinetd服务的管理
1)、基于xinetd服务的启动
我们使用telnet服务来举例,telnet服务是用来进程系统远程管理的,端口时23。不过需要注意的是telnet的远程管理数据在网络当中是明文传输,非常不安全。所以我们在生产服务器上是不建议启动telnet服务的,我们这里只是举例而已。在生成服务器上,远程管理使用的是ssh协议,ssh是加密的更加安全。
1 | [root@localhost ~]# vi /etc/xinetd.d/telnet |
1 | [root@localhost ~]# vi /etc/xinetd.d/telnet |
2)、基于xientd服务的自启动
- 使用chkconfig命令管理自启动
- 使用ntsysv命令管理自启动
1 | [root@localhost ~]# chkconfig 服务名 on|off |
3、独立服务的启动脚本分析
既然独立的服务启动是依靠/etc/init.d/httpd这个脚本来进行启动管理的,那么这个脚本中到底是什么样子的?既然我们已经学习了shell脚本,那么我们就来学习一下这个脚本到底是怎么实现apache服务的管理的。
1 | #!/bin/bash |
通过这个脚本,我们可以对apache服务的启动有更深的了解了。
三、源码包安装的服务管理.
1、源码包服务的启动管理
1 | [root@localhost ~]# /usr/local/apache2/bin/apachectl start|stop|restart|... |
2、源码包服务的自启动管理
1 | root@localhost ~]# vi /etc/rc.d/rc.local |
3、让源码包服务被服务管理命令识别
那么我们就做个试验,看看如何把源码包安装的apche变为和RPM包安装的apache一样,可以被service、chkconfig、ntsysv命令识别吧。试验如下:
1 | 1)、卸载RPM包的apache服务 |
总结下,如果想让源码包服务被service命令识别并管理,只要做个软链接把启动脚本链接到/etc/init.d/目录中即可。要想让源码包服务被chkconfig命令识别,除了需要把服务的启动脚本链接到/etc/init.d/目录中,还要修改这个启动脚本,在启动脚本的开头加入:
1 | # chkconfig: 运行级别启动顺序关闭 |
然后需要使用“chkconfig –add 服务名”的方式把服务加入chkconfig命令管理中。命令格式如下:
1 | [root@localhost ~]# chkconfig [选项] [服务名] |
四、总结服务管理
五、Linux中常见服务的作用
服务名称 | 功能简介 | 建议 |
---|---|---|
acpid | 电源管理接口。如果是笔记本用户建议开启,可以监听内核层的相关电源事件。 | 开启 |
anacron | 系统的定时任务程序。cron的一个子系统,如果定时任务错过了执行时间,可以通过anacron继续唤醒执行。 | 关闭 |
alsasound | Alsa声卡驱动。如果使用alsa声卡,开启 | 关闭 |
apmd | 电源管理模块。如果支持acpid,就不需要apmd,可以关闭 | 关闭 |
atd | 指定系统在特定时间执行某个任务,只能执行一次。如果需要则开启,但我们一般使用crond来进行循环定时任务。 | 关闭 |
auditd | 审核子系统。如果开启了此服务,SELinux的审核信息会写入/var/log/audit/audit.log文件,如果不开启,审核信息会记录在syslog中 | 开启 |
autofs | 让服务器可以自动挂载网络中的其他服务器的共享数据,一般用来自动挂载NFS服务。如果没有NFS服务建议关闭 | 关闭 |
avahi-daemon | Avahi是 zeroconf 协议的实现。它可以在没有DNS 服务的局域网里发现基于zeroconf 协议的设备和服务。除非有兼容设备或使用zeroconf协议,否则关闭。 | 关闭 |
bluetooth | 蓝牙设备支持。一般不会在服务器上启用蓝牙设备,关闭它 | 关闭 |
capi | 仅对使用ISND设备的用户有用。 | 关闭 |
chargen-dgram | 使用UDP协议的chargen server。 主要功能是提供类似远程打字的功能。 | 关闭 |
chargen-stream | 同上。 | 关闭 |
cpuspeed | 可以用来调整CPU的频率。当闲置时可以自动降低CPU频率来节省电量。 | 开启 |
crond | 系统的定时任务,一般的Linux服务器都需要定时任务帮助系统维护。建议开启 | 开启 |
cvs | 一个版本控制系统 | 关闭 |
daytime-dgram | daytime使用TCP 协议的Daytime守护进程,该协议为客户机实现从远程服务器获取日期和时间的功能。 | 关闭 |
daytime-stream | 同上。 | 关闭 |
dovecot | 邮件服务中POP3/IMAP服务的守护进程。主要用来接收信件,如果启动了邮件服务则开启,否则关闭 | 关闭 |
echo-dgram | 服务器回显客户服务的进程。 | 关闭 |
echo-stream | 同上。 | 关闭 |
firstboot | 系统安装完成之后,有个欢迎界面,需要对系统进程初始设定。就是这个进程的作用。既然不是第一次启动了,关闭吧 | 关闭 |
gpm | 在字符终端(tty1-tty6)中可以使用鼠标复制和粘贴。就是这个服务的功能。 | 开启 |
haldaemon | 检测盒支持USB设备。如果是服务器可以关闭,个人机建议开启。 | 关闭 |
hidd | 蓝牙鼠标、键盘等蓝牙设备检测。必须启动bluetooth服务。 | 关闭 |
hplip | HP打印机支持,如果没有HP打印机关闭吧 | 关闭 |
httpd | apache服务的守护进程。如果需要启动apache,就开启。 | 开启 |
ip6tables | IPv6的防火墙,目前IPv6协议并没有使用,可以关闭 | 关闭 |
iptables | 防火墙功能,Linux中防火墙是内核支持功能。这是服务器的主要防护手段,必须开启。 | 开启 |
irda | IrDA 提供红外线设备(笔记本,PDA ’s,手机,计算器等等)间的通讯支持。关闭吧 | 关闭 |
irqbalance | 支持多核处理器,让CPU可以自动分配系统中断(IRQ),提高系统性能。目前服务器多是多核CPU,请开启。 | 开启 |
isdn | 使用ISDN设备连接网络。目前主流的联网方式是光纤接入和ADSL,ISDN已经非常少见,请关闭 | 关闭 |
kudzu | 该服务可以在开机时进行硬件检测,并会调用相关的设置软件。建议关闭,仅在需要时开启 | 关闭 |
lvm2-monitor | 该服务可以让系统支持LVM逻辑卷组,如果分区采用的是LVM方式,那么应该开启。建议开启 | 开启 |
mcstrans | SELinux的支持服务。建议启动 | 开启 |
mdmonitor | 该服务用来监测 Software RAID 或 LVM 的信息。不是必须服务,建议关闭 | 关闭 |
mdmpd | 该服务用来监测 Multi-Path 设备。不是必须服务 | 关闭 |
messagebus | 这是 Linux 的 IPC(Interprocess Communication,进程间通讯)服务,用来在各个软件中交换信息。个人建议关闭 | 关闭 |
microcode_ctl | Intel系列的CPU可以通过这个服务支持额外的微指令集。 | 关闭 |
mysqld | mysql数据库服务器。如果需要就开启,否则关闭 | 开启 |
named | DNS服务的守护进程,用来进行域名解析。如果是DNS服务器则开启,否则关闭 | 关闭 |
netfs | 该服务用于在系统启动时自动挂载网络中的共享文件空间,比如:NFS,Samba 等等。需要就开启,否则关闭 | 关闭 |
network | 提供网络设置功能。通过这个服务来管理网络,所以开启 | 开启 |
nfs | NFS(Network File System)服务,Linux与Linux之间的文件共享服务。需要就开启,否则关闭 | 关闭 |
nfslock | 在Linux中如果使用了NFS服务,为了避免同一个文件被不同的用户同时编辑,所有有这个锁服务。有NFS是开启,否则关闭 | 关闭 |
ntpd | 该服务可以通过互联网自动更新系统时间,使系统时间永远都准确。需要则开启,但不是必须服务 | 关闭 |
pcscd | 智能卡检测服务,可以关闭 | 关闭 |
portmap | 用在远程过程调用(RPC)的服务,如果没有任何RPC服务时,可以关闭。主要是NFS和NIS服务需要。 | 关闭 |
psacct | 该守护进程支持几个监控进程活动的工具。 | 关闭 |
rdisc | 客户端ICMP路由协议 | 关闭 |
readahead_early | 在系统开机的时候,先将某些进程加载如内存整理,可以加快一点启动速度。 | 关闭 |
readahead_later | 同上 | 关闭 |
restorecond | 用于给SELinux 监测和重新加载正确的文件上下文。如果开启SELinux则需要开启。 | 关闭 |
rpcgssd | 与NFS有关的客户端功能。如果没有NFS就关闭吧。 | 关闭 |
rpcidmapd | 同上 | 关闭 |
rsync | 远程数据备份守护进程。 | 关闭 |
sendmail | sendmail邮件服务的守护进程。如果有邮件服务就开启,否则关闭 | 关闭 |
setroubleshoot | 该服务用于将SELinux相关信息记录在日志/var/log/messages中。建议开启 | 开启 |
smartd | 该服务用于自动检测硬盘状态。建议开启 | 开启 |
smb | 网络服务samba的守护进程。可以让Linux和Windows之间共享数据。如果需要则开启 | 关闭 |
squid | 代理服务的守护进程。如果需要则开启,否则关闭 | 关闭 |
sshd | ssh加密远程登陆管理的服务。服务器的远程管理必须使用此服务,不要关闭 | 开启 |
syslog | 日志的守护进程。 | 开启 |
vsftpd | vsftp服务的守护进程。如果需要FTP服务则开启,否则关闭 | 关闭 |
xfs | 这个是X Window的字体守护进程。为图形界面提供字体服务,如果不启动图形界面,就不用开启。 | 关闭 |
xinetd | 超级守护进程。如果有依赖xinetd的服务就必须开启。 | 开启 |
ypbind | 为NIS(网络信息系统)客户机激活ypbind服务进程。 | 关闭 |
yum-updatesd | yum的在线升级服务。 | 关闭 |
查看评论