文章目录
一、服务的分类
Linux服务分类:
-
RPM包默认安装的服务
服务是通过RPM包安装的,可以被服务管理命令识别。
-
独立的服务
服务可以自行启动而不依赖于其他的管理服务。
-
基于xinetd的服务
服务不能独立启动而是需要依靠管理xinetd服务来调用。
-
-
源码包安装的服务
查询已安装的服务和区分服务状态
[root@localhost ~]# chkconfig --list abrt-ccpp 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭 abrtd 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭 acpid 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 atd 0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭 ... ypbind 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭 #0,1,2,3,4,5,6代表系统的运行级别,启动和关闭代表该服务在对应运行级别下的状态。
二、服务的管理
2.1、RPM包默认安装的服务管理
2.1.1、独立的服务管理
-
独立服务的启动管理
-
使用/etc/init.d/目录中的启动脚本启动服务
[root@localhost ~]# /etc/init.d/服务名 start|restart
-
使用service命令来启动服务
[root@localhost ~]# service 服务名 start|restart
-
-
独立服务的自启动管理
-
使用chkconfig服务自启动管理命令
chkconfig [--level 运行级别] [服务名] [on|off]
-
修改/etc/rc.d/rc.local文件设置服务自启动
vi /etc/rc.d/rc.local #添加指定的服务自启动 /etc/rc.d/init.d/sshd start #/etc/rc.d/init.d/服务名 start
-
使用ntsysv命令管理自启动
ntsysv [--level 运行级别]
2.1.2、基于xinetd服务的管理
-
基于xinetd服务的启动
[root@localhost ~]# cat /etc/xinetd.d/rsync # default: off # description: The rsync server is a good addition to an ftp server, as it \ # allows crc checksumming etc. service rsync #服务名称 { disable = yes #服务不能启动,如需启动将此项改为no flags = IPv6 socket_type = stream #使用tcp协议数据包 wait = no #允许多个连接同事了解 user = root #启动服务的用户为root server = /usr/bin/rsync #服务的启动程序 server_args = --daemon #启动参数 log_on_failure += USERID #记录失败的用户ID } [root@localhost ~]# service xinetd restart 停止 xinetd: [失败] 正在启动 xinetd: [确定] #如提示找不到服务需要安装xinetd #rpm rpm -ivh xinetd* #yum yum -y install xinetd
-
基于xientd服务的自启动
- 使用chkconfig命令管理自启动
- 使用ntsysv命令管理自启动
-
2.2源码包安装的服务管理
这里以apache为例,安装目录为/www/server/apache(我这里apache是使用宝塔界面安装的)。
2.2.1源码包服务的启动管理
[root@localhost ~]# /www/server/apache/bin/apachectl start|stop|restart
2.2.2源码包服务的自启动管理
[root@localhost apache]# vi /etc/rc.d/rc.local
[root@localhost apache]#
[root@localhost apache]# cat /etc/rc.d/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local #每次开机touch下/var/lock/subsys/local来记录开机时间
/www/server/apache/bin/apachectl start #添加自启动
2.2.3让源码包安装的服务被服务管理命令识别
service命令:
#测试使用service命令是否能够识别到apache服务
[root@localhost ~]# service apache restart
Redirecting to /bin/systemctl restart apache.service
Failed to restart apache.service: Unit not found.
#为/www/server/apache/bin/apachectl添加软连接/etc/init.d/apache
[root@localhost ~]# ln -s /www/server/apache/bin/apachectl /etc/init.d/apache
#再次测试使用service命令是否能够识别到apache服务
[root@localhost ~]# service apache start
[root@localhost ~]# netstat -tlun | grep 80 #apache已启动监听80端口
tcp6 0 0 :::80 :::* LISTEN
[root@localhost ~]# service apache stop #停止apache服务
[root@localhost ~]# netstat -tlun | grep 80 #apache已停止
[root@localhost ~]#
chkconfig命令:
[root@localhost ~]# vi /etc/init.d/apache
[root@localhost ~]# cat /etc/init.d/apache
#!/bin/sh
#chkconfig: 35 80 70
#description: service apache
#chkconfig,80启动顺序,70关闭顺序,值越小越优先
#description描述信息
[root@localhost ~]# chkconfig --list
bt 0:关 1:关 2:开 3:开 4:开 5:开 6:关
httpd 0:关 1:关 2:开 3:开 4:开 5:开 6:关
netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关
network 0:关 1:关 2:开 3:开 4:开 5:开 6:关
[root@localhost ~]# chkconfig --add apache #加入chkconfig命令管理
[root@localhost ~]# chkconfig --list
apache 0:关 1:关 2:关 3:开 4:关 5:开 6:关
bt 0:关 1:关 2:开 3:开 4:开 5:开 6:关
httpd 0:关 1:关 2:开 3:开 4:开 5:开 6:关
netconsole 0:关 1:关 2:关 3:关 4:关 5:关 6:关
network 0:关 1:关 2:开 3:开 4:开 5:开 6:关
ntsysv命令:
ntsysv与chkconfig命令的管理机制相同,也就是说chkconfig可以识别到的服务也可以被ntsysv命令识别到。
三、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 | 使用 TCP 协议的 daytime 守护进程,该协议为客户机实现从远程服务器获取日期和时间的功能 | 关闭 |
daytime-slream | 同上 | 关闭 |
dovecot | 邮件服务中 POP3/IMAP 服务的守护进程,主要用来接收信件。如果启动了邮件服务则开启:否则关闭 | 关闭 |
echo-dgram | 服务器回显客户服务的进程 | 关闭 |
echo-stream | 同上 | 关闭 |
firstboot | 系统安装完成后,有一个欢迎界面,需要对系统进行初始设定,这就是这个服务的作用。既然不是第一次启动了,则建议关闭 | 关闭 |
gpm | 在字符终端 (ttyl~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 的在线升级服务 |