每天一个新知识之Linux的服务管理

一、服务的分类

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、独立的服务管理

  • 独立服务的启动管理

    1. 使用/etc/init.d/目录中的启动脚本启动服务

      [root@localhost ~]# /etc/init.d/服务名 start|restart
      
    2. 使用service命令来启动服务

      [root@localhost ~]# service 服务名 start|restart
      
  • 独立服务的自启动管理

    1. 使用chkconfig服务自启动管理命令

      chkconfig [--level 运行级别] [服务名] [on|off]
      
    2. 修改/etc/rc.d/rc.local文件设置服务自启动

      vi /etc/rc.d/rc.local
      
      #添加指定的服务自启动
      /etc/rc.d/init.d/sshd start
      #/etc/rc.d/init.d/服务名 start
      
    3. 使用ntsysv命令管理自启动

      ntsysv [--level 运行级别]
      

    2.1.2、基于xinetd服务的管理

    1. 基于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
      
    2. 基于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 继续唤醒执行关闭
alsasoundalsa 声卡驱动。如果使用 alsa 声卡,则开启关闭
apmd电源管理模块。如果支持 acpid,就不需要 apmd,可以关闭关闭
atd指定系统在特定时间执行某个任务,只能执行一次。如果需要则开启,但我们一般使用 crond 来执行循环定时任务关闭
auditd审核子系统。如果开启了此服务,那么 SELinux 的审核信息会写入 /var/log/audit/ audit.log 文件;如果不开启,那么审核信息会记录在 syslog 中开启
autofs让服务器可以自动挂载网络中其他服务器的共享数据,一般用来自动挂载 NFS 服务。如果没有 NFS 服务,则建议关闭关闭
avahi-daemonavahi 是 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 服务关闭
hplipHP 打印机支持,如果没有 HP 打印机则关闭关闭
httpdapache 服务的守护进程。如果需要启动 apache,就开启开启
ip6tablesIPv6 的防火墙。目前 IPv6 协议并没有使用,可以关闭关闭
iptables防火墙功能。Linux 中的防火墙是内核支持功能。这是服务器的主要防护手段,必须开启开启
irdaIrDA 提供红外线设备(笔记本电脑、PDA’s、手机、计算器等)间的通信支持。建议关闭关闭
irqbalance支持多核处理器,让 CPU 可以自动分配系统中断(IRQ),提高系统性能。目前服务器多是多核 CPU,请开启开启
isdn使用 ISDN 设备连接网络。目前主流的联网方式是光纤接入和 ADSL,ISDN 己经非常少见,请关闭关闭
kudzu该服务可以在开机时进行硬件检测,并会调用相关的设置软件。建议关闭,仅在需要时开启关闭
lvm2-monitor该服务可以让系统支持LVM逻辑卷组,如果分区采用的是LVM方式,那么应该开启。建议开启开启
mcstransSELinux 的支持服务。建议开启开启
mdmonitor该服务用来监测 Software RAID 或 LVM 的信息。不是必需服务,建议关闭关闭
mdmpd该服务用来监测 Multi-Path 设备。不是必需服务,建议关闭关闭
messagebus这是 Linux 的 IPC (Interprocess Communication,进程间通信)服务,用来在各个软件中交换信息。建议关闭关闭
microcode _ctlIntel 系列的 CPU 可以通过这个服务支持额外的微指令集。建议关闭关闭
mysqldMySQL 数据库服务器。如果需要就开启;否则关闭开启
namedDNS 服务的守护进程,用来进行域名解析。如果是 DNS 服务器则开启;否则关闭关闭
netfs该服务用于在系统启动时自动挂载网络中的共享文件空间,比如 NFS、Samba 等。 需要就开启,否则关闭关闭
network提供网络设罝功能。通过这个服务来管理网络,建议开启开启
nfsNFS (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远程数据备份守护进程关闭
sendmailsendmail 邮件服务的守护进程。如果有邮件服务就开启;否则关闭关闭
setroubleshoot该服务用于将 SELinux 相关信息记录在日志 /var/log/messages 中。建议开启开启
smartd该服务用于自动检测硬盘状态。建议开启开启
smb网络服务 samba 的守护进程。可以让 Linux 和 Windows 之间共享数据。如果需要则开启关闭
squid代理服务的守护进程。如果需要则开启:否则关闭关闭
sshdssh 加密远程登录管理的服务。服务器的远程管理必须使用此服务,不要关闭开启
syslog日志的守护进程开启
vsftpdvsftp 服务的守护进程。如果需要 FTP 服务则开启;否则关闭关闭
xfs这是 X Window 的字体守护进程,为图形界面提供字体服务。如果不启动图形界面,就不用开启关闭
xinetd超级守护进程。如果有依赖 xinetd 的服务,就必须开启开启
ypbind为 NIS (网络信息系统)客户机激活 ypbind 服务进程关闭
yum-updatesdyum 的在线升级服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值