简介与分类

系统的运行级别

运行级别含义
0关机
1单用户模式,可以想象为windows的安全模式,主要用于系统修复
2不完全的命令行模式,不含NFS服务
3完全的命令行模式,就是标准字符界面
4系统保留
5图形模式
6重启动

注:
单用户模式:启动最小的服务,多余服务不开启,仅保证系统自己可以正常运行。主要用于系统修复。
NFS:Linux和Linux之间进行文件共享服务

查看及修改系统运行级别

// 查看系统运行级别
// N:NULL。当前级别为3即字符界面,其上一个级别为N即为空,表示系统开机直接进入字符界面
#runlevel
N 3             


// 修改系统运行级别
// 进入图形级别,前提是安装图形界面
#init 5 // 若未安装图形界面则会报错
#runlevel
3 5     // 仍然进入了5级别

// 不建议使用下面命令关机和重启,不一定正确结束系统正在运行的服务;建议使用shutdown命令
// 关机
#init 0
// 重启
#init 6 

查看及修改系统默认的运行级别

// /etc/inittab文件现在没有那么重要,它的功能已经被其他配置文件所代替
#vim /etc/inittab
id:3:initdefault:

注:不要把开机启动级别设置为0或6级别。

服务的分类

这里写图片描述

RPM包与源码包的区别:主要在安装位置不一样。

RPM包安装在系统默认位置,一般不指定安装位置,安装包作者决定安装的位置。
源码包手工指定安装位置,一般装在/usr/local/目录下。

独立的服务和基于xinetd服务的区别:

独立的服务:服务独立的运行在内存中,服务响应速度快,但占用更多内存。
基于xinetd服务: xinetd服务是超级守护进程的一种。xinetd服务本身独立存在,管理一些服务。用户通过xinetd服务请求其管理的一些服务,然后xinetd返回请求服务的回复给用户,xinetd服务相当于proxy一样的角色。xinetd服务逐步被淘汰,大多数服务都是独立的服务。

//查看服务自启动服务
// 通过chkconfig查看的服务都是rpm包安装且都是独立的服务
#chkconfig --list
...
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off //在不同系统运行级别时服务的自动开启状态即是否自启动
...

// 查看基于xinetd服务
// xinetd
#yum -y install xinetd
// 查看服务
#chkconfig --list // 会多一组显示基于inetd服务的服务

启动与自启动

服务启动:就是在当前系统中让服务运行,并提供功能。
服务自启动:自启动是指让五福在系统开机或重启动之后,随着系统的启动而自动启动服务。

注:在chkconfig –list 查看到服务在不同运行级别时,服务自启动是否开启,不能确定现在服务是否已经开启。

查询已安装的服务

RPM包安装的服务

chkconfig –list命令查看服务自启动状态,可以看到所有RPM包安装的服务

源码包安装的服务

查看服务安装位置,一般是/usr/local/目录下
service、chkconfig、ntsysv都不能找到源码包安装的服务。

RPM包安装服务和源码包安装服务的区别就是安装位置的不同

源码包一般安装在/usr/local/目录下
RPM包默认安装位置

服务与端口

查看系统中开启(已运行)服务

1 ps aux命令,显示所有执行的进程包括服务进程,但这并不好用
2 netstat -tlun 显示系统已运行(正在监听)的服务,其他功能可以man netstat 查看

端口与服务对应

查看/etc/services文件,显示常见的端口和服务

RPM包服务管理

常规rpm包文件安装位置:
- /etc/init.d/ :启动脚本位置
- /etc/sysconfig/ : 初始化环境配置文件位置
- /etc/ : 配置文件位置
- /etc/xinetd.conf : xinetd配置文件
- /etc/xinetd.d/ : 基于xinetd服务的启动脚本
- /var/lib/ : 服务产生的数据放在这里
- /var/log/ : 日志

独立服务的管理

独立服务的启动

1 /etc/init.d/独立服务名 start|stop|status|restart|

// 查看apache http服务的状态,其中httpd为一个shell脚本文件
#/etc/init.d/httpd status
// 启动apache服务
#/etc/init.d/httpd start

// 早期Linux版本服务管理脚本放在/etc/rc.d/init.d/目录
#/etc/rc.d/init.d/httpd status

2 service 独立服务名 start|stop|restart|status|

#service httpd status

注1:redhat系列的Linux才能使用service命令
注2:上面两种方法一般无法管理源码包启动脚本,但可以把源码包启动脚本放置在/etc/init.d/目录下统一管理

独立服务的自启动

1 chkconfig [–level 运行级别] [独立服务名] [on|off]

#chkconfig --list |grep httpd
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off 
#chkconfig --level 2345 httpd on
#chkconfig --list |grep httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off 

#chkconfig httpd off
#chkconfig --list|grep httpd
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off 

2 修改/etc/rc.d/rc.local文件
/etc/rc.d/rc.local文件是在系统启动时,把所有的服务启动完,用户登录到系统前最后执行的文件,因此系统会执行这个文件中的命令。

#vim /etc/rc.d/rc.local
touch /var/lock/subsys/local
/etc/init.d/httpd start // 添加开机启动apache服务的命令

注1:通过修改/etc/rc.d/rc.local文件添加的开机启动服务不能在chkconfig –list中显示,这两种管理方式不想关,选取一种即可。
注2:也可以修改/etc/rc.local文件,/etc/rc.local文件是/etc/rc.d/rc.local文件的软连接

3 使用ntsysv命令管理自启动
ntsysv命令和chkconfig命令是相关的,即通过哪一个修改,对方都能看见修改。
注:ntsysv是redhat系列的Linux命令。

基于xinetd服务的管理

1 安装xinetd服务

#yum -y install xinetd

2 xinetd服务的启动

// 显示rsync服务的端口
#grep rsync /etc/services

#vim /etc/xinetd.d/rsync
service rsync
{
    flags = REUSE // 设置TCP/IP socket可重用
    socket_type = stream
    wait = no     // 允许多个连接同时连接
    user = root   // 启动服务的用户为root
    server = /usr/bin/rsync
    server_args = --daemon
    log_on_failure += USERID // 登录失败后,记录用户的ID
    disable = no // 开启rsync服务,开启:no 关闭:yes
}

// 重启动xinetd服务
#service xinetd restart

3 xinetd服务的自启动

只有独立的服务才有运行级别,基于xinetd的服务没有运行级别,xinetd在哪个级别可以自启动,rsync服务就在哪个级别可以自启动

// 不能加运行级别
#chkconfig rsync on 
#netstat -tlun|grep 873
tcp 0 0 :::873 :::* LISTEN
#chkconfig rsync off
// 查看rsync服务是否关闭,
#netstat -tlun|grep 873 // 无显示,rync服务被关闭 
#vim /etc/xinetd.d/rsync // 设置rsync服务的disable=no
#service xinetd restart
#netstat -tlun|grep 873
tcp 0 0 :::873 :::* LISTEN


// 使用图形化界面的ntsysv找到rsync服务开启即可
#ntsysv 

注:由上面操作可知 xinetd服务的启动和自启动是一致的,即自启动开启关闭服务和启动开启关闭是一样的。

源码包服务管理

源码包的安装目录中的安装说明文档中一般有启动命令教程。如apache服务器的安装说明为INSTALL。

源码包安装服务的启动

使用绝对路径,调用启动脚本来启动。不同的二元吗包的启动脚本不同。可以查看源码包的安装说明,查看启动脚本的方法。

// 源码包服务启动
#/usr/local/apache2/bin/apachectl start|stop
// 源码包中apache2服务首页的修改
#vim /usr/local/apache2/htdocs/index.html 

源码包服务的自启动

只能通过修改/etc/rc.d/rc.local文件加入启动命令

#vim /etc/rc.d/rc.local // 加入/usr/local/apache2/bin/apachectl start即可

让源码包服务被服务管理命令识别

让源码包的apache服务能被service命令管理启动

#ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apache
#service apache start

让源码包的apache服务能被chkconfig与ntsysv命令管理自启动

#vim /etc/init.d/apache 
// 在apache启动脚本中添加
  #chkconfig: 35 86 76 // 格式:chkconfig : 运行级别 启动顺序 关闭顺序
  #description: source package apache
// 把源码包apache加入chkconfig 命令
#chkconfig --add apache
#chkconfig --list |grep apache
apache 0:关闭 1:关闭  2:关闭 3:开启 4:关闭 5:开启 6:关闭

// 这时,ntsysv命令也可以管理apache
#ntsysv 

注:

// 格式:chkconfig : 运行级别 启动顺序 关闭顺序
#chkconfig: 35 86 76
#cd /etc/rc3.d/ // 3代表系统纯字符界面
#ls
// 显示以k和s开头文件文件
// k开头的为kill,s开头的为start,
// 系统进入3级别的时要把以s开头的文件执行一遍,同理系统退出3级别时执行一遍k开头的文件
// 启动顺序号和关闭顺序号可以为随意数字,但启动顺序号不能与/etc/rc3.d/目录下已存在的s开头文件的顺序号重复,同理关闭顺序号也不能与k开头文件的顺序号重复

服务管理总结

xmind思维导图

这里写图片描述

常见的服务与管理

服务名称功能简介建议
acpid电源管理接口。如果是笔记本用户建议开启,可以监听内核层的相关电源事件。开启
anacron系统的定时任务程序。cron的一个子系统,如果定时任务错过了执行时间,可以通过anacron继续唤醒执行关闭
alsasoundAlsa声卡驱动。如果使用alsa声卡,开启关闭
apmd电源管理模块。如果支持acpid,就不需要apmd,可以关闭关闭
atd指定系统在特定时间执行某个人物,只能执行一次。如果需要则开启,但一般使用crond来进行循环定时任务关闭
auditd审核子系统。如果开启了此服务,SELinux的审核信息会写入/var/log/audit/auxlit.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-dgramdaytime使用TCP协议的Daytime守护进程,该协议为客户机实现从远程服务器获取日期和时间的功能关闭
dovecot邮件服务中POP3/IMAP服务的守护进程。主要用来接收信件,如果启动了邮件服务则开启,否则关闭关闭
echo-dgram服务器回显客户服务的进程关闭
echo-stream同上关闭
firstboot系统安装完成之后,有个欢迎界面,需要对系统初始化设定,就是这个进程的作用。既然不是第一次启动,关闭关闭
gpm在字符终端(tty1-tty6)中可以使用鼠标复制和粘贴。就是该服务的功能开启
haldaemon检测盒支持USB设备。服务器可以关闭,个人建议开启关闭
hidd蓝牙鼠标、键盘灯蓝牙设备检测。必须启动bluetooth服务关闭
hplipHP打印机支持,如果没有HP打印机关闭关闭
httpdapache服务的守护进程。如果需要启动apache就开启开启
ip6tablesIPv6的防火墙,目前IPv6协议并没有使用,可以关闭关闭
pitables防火墙功能,Linux中防火墙是内核支持功能。这是服务器的主要防护手段,必须开启开启
irdaIrDA提供红外线设备间的通讯支持,关闭关闭
irqbalance支持多核持利器,让CPU可以自动分配系统中断(IRQ),提高系统性能。目前服务器是多核CPU,开启开启
isdn使用ISDN设备连接网络。目前主流的联网方式是光钎接入和ADSL,ISDN已经非常少见,关闭关闭
kudzu该服务可以在开机时进行硬件检测,炳辉调用相关的设置软件。建议关闭,需要时开启关闭
lvn2-monitor该服务可以让系统支持LVM逻辑卷组,如果分区采用的是LVM方式,那么应该开启,建议开启开启
mcstransSELinux的支持服务,建议开启开启
mdmonitor该服务用来监测Software RAID或LVM的信息,不是必须服务,建议关闭关闭
mdmpd该服务用来监测Multi-Path设备,不是必须服务关闭
messagebus这是Linux的IPC(Interprocess Communication,进程间通讯)服务,用来在各个软件中交换信息,建议关闭关闭
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邮件服务的守护进程,如果有邮件服务就开启,否则关闭关闭
setrouleshoot用于SELinux行管信息记录在/var/log/messages中,建议开启开启
smartd该服务拥有自动检测硬盘状态,建议开启开启
smb网络服务samba的守护进程。可以让Linux和Windows之间共享数据,如果需要则开启关闭
squid代理服务的守护进程,需要则开启,否则关闭关闭
sshdssh加密远程登录管理的服务。服务器的远程管理必须使用此服务,不需要则关闭
syslog日志的守护进程开启
vsftpdvsftp服务的守护进程。需要FTP服务则开启,否则关闭关闭
xfs这是XWindow的字体守护进程。为图形界面提供字体服务。不需要启动图形界面就不开启关闭
xinetd超级守护进程。如果有依赖xinetd的服务就开启开启
ypbind为NIS(网络信息系统)客户机激活ypbind服务进程关闭
yum-updatesdyum的在线升级服务

参考

慕课网Linux服务管理

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:23 天前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐