简介与分类

系统的运行级别

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

使用runlevel查看当前运行级别:

runlevel
// N 5

结果中第一位数是进入当前级别之前的级别,直接进入当前级别时为N;第二位数是当前级别。

使用init改变运行级别:

init 5 // 进入图形模型
init 0 // 关机
init 6 // 重启

使用init 0init 6不能保证正确关闭当前运行程序,建议使用shut down

要修改系统的默认运行级别,需要修改/etc/inittab, 编辑:

id:3:initdefault

服务的分类

主要分为RPM包默认安装的服务和源码包安装的服务,区别两者是根据安装的路径。RPM包默认安装的服务是系统默认的安装路径,源码包安装的服务是用户自定义的安装路径。

RPM包默认安装的服务

  • 独立的服务:独立运行在内存中,缺点是占用内存
  • 基于xinetd的服务:守护进行的方式。用户需要访问服务时先经过xinetd,然后访问后台程序,后台程序返回给xinetd,然后再到用户。

目前xinetd方式基本淘汰。

在centos下使用命令chkconfig --list可以查看服务自启动状态,可以看到所有RPM包安装的服务,并且可以看到各个服务的自启动状态。

源码包安装的服务

自定义安装位置,一般是/usr/local/

启动与自启动

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

使用chkconfig --list查看的各个级别的启动状态是自启动状态,并不知道服务是否开启。

查看已安装的服务

RPM包服务: 使用chkconfig命令;源码包服务查看安装位置。注意,chkconfig不能查看源码包服务,包括service ntsysv命令。

服务与端口

查看端口与服务的对应:

vim /etc/service

查看系统中开启的服务:

netstat -tlunp
  • -t: 列出tcp数据
  • -u: 列出udp数据
  • -l: 列出正在监听的网络服务(不包含已经连接的网络服务)
  • -n: 用端口号来显示服务,而不是用服务名
  • -p: 列出该服务的进程ID

要列出所有的服务(包括本地程序和已经连接的服务):

netstat -an

RPM包服务管理

独立的服务管理

服务默认的安装位置:

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

服务的标准启动方式是执行可执行文件:

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

在RedHat系列系统中,可以通过service启动服务。注意,使用service启动的服务路径需要在/etc/init.d/(/etc/rc.d/init.d/)。将源码包服务文件复制到/etc/init.d/路径下可以变成RPM包服务。

service 独立的服务名 start|stap|status|restart

服务的自启动

有三种方法可以实现服务的自启动:

  • chkconfig命令
# 将2345级别下的apache服务自启动
chkconfig --level 2345 httpd on/off
  • 修改/etc/rc.d/rc.local文件。系统会在启动时执行该文件中的所有命令,可以把服务启动的命令写在里面,从而实现服务的自启动。注意,这和第一种方式是不相关的,如果两种方式都实现了自启动,那么服务会在系统启动时启动两次,而第二次启动时会报错。所以,只要使用一种方式。
  • ntsysv命令
ntsysv

ntsysv和第一种方式实际上是同一种方式,两者会互相影响。

基于xinetd的服务

先安装xinetd:

yum -y install xinetd

服务的启动脚本,如rsync服务:

vi /etc/xinetd.d/rsync
service rsync{
flags = true // 标志为RESUE,设定TCP/IP socket可重用
socket_type = stream // 使用TCP协议数据包
wait = no // 允许多个链接同时连接
user = root // 启动服务的用户为root
server = /usr/bin/rsync // 服务的启动程序
log_on_failure += USERID // 登录失败后,记录用户的ID
disable = no // 服务不启动
}

实际使用时只需要修改disable,修改完重启xinetd:

service xinetd restart

还可以使用命令修改启动:

chkconfig rsync on
ntsysv

注意,基于xinetd的服务启动和自启动是同时进行的,互相影响。

源码包的服务

启动

使用安装的绝对路径,查看源码的安装包说明和启动方式,如启动apache:

/usr/local/apache2/bin/apachectl    start|stop

rpm包和源码包服务只启动一个,会占用,apache对应的默认页:

# rpm包
/var/www/html/index.html
# 源码包
/usr/local/apache2/htdocs/index.html

自启动

修改/etc/rc.d/rc.local或者/etc/rc.local文件,两者是软链接。添加启动命令:

/usr/local/apache2/bin/apachectl start

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

使用service启动:

软链接绝对路径或者复制文件到目录下:

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

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

/etc/init.d/apache添加两条命令

chkconfig: 35 86 76
description: source package apache

chkconfig: 运行级别 启动顺序 关闭顺序

其中启动和关闭顺序可以随便设置,但是不能和/etc/rc3.d/中的重复。

总结

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-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/message中,建议开启 开启
smartd 该服务用于自动检测硬盘状态,建议开启 开启
smb 网络服务samba的守护进程。可以让Linux和Windows之间共享数据。如果需要则开启 关闭
squid 代理服务的守护进程。如果需要则开启,否则关闭 关闭
sshd ssh加密远程登录管理的服务。服务器的远程管理必须使用此服务,不要关闭 开启
syslog 日志的守护进程 开启
vsftpd vsftp服务的守护进程。如果需要FTP服务则开启,否则关闭 关闭
xfs 这个是X Window的字体守护进程。为图形界面提供字体服务,如果不启动图形界面,就不用开启 关闭
xinetd 超级守护进程。如果有以来xinetd的服务就必须开启。 开启
ypbind 为NIS(网络信息系统)客户机激活ypbind服务进程。 关闭
yum-updatesd yum的在线升级服务。 关闭

总结自慕课网Tony老师的视频教程: https://www.imooc.com/learn/537

Linux服务管理总结的更多相关文章

  1. Linux基础学习(12)--Linux服务管理

    第十二章——Linux服务管理 一.服务简介与分类 1.服务的分类: 注:独立的服务放在内存中(好处:响应的速率快,坏处:独立的服务越多,耗费的内存资源越多):xinetd服务本身是独立的,在内存中, ...

  2. Linux 服务管理两种方式service和systemctl

    Linux 服务管理两种方式service和systemctl 1.service命令 service命令其实是去/etc/init.d目录下,去执行相关程序 # service命令启动redis脚本 ...

  3. 第11章 Linux服务管理

    1. 服务分类 (1)Linux的服务 ①Linux中绝大多数的服务都是独立的,直接运行于内存中.当用户访问时,该服务直接响应用户,其好处是服务访问响应速度快.但不利之处是系统中服务越多,消耗的资源越 ...

  4. linux笔记:linux服务管理

    linux服务的分类: 启动和自启动: 查询已经安装的服务: RPM包的默认安装路径: 独立服务的启动: 独立服务的自启动: 基于xinetd的服务的管理: xinetd服务的自启动: 源码包安装服务 ...

  5. Linux学习笔记(19) Linux服务管理

    1. 服务的分类 Linux服务可分为RPM包默认安装的服务和源码包安装的服务.前者可细分为独立的服务(直接作用于内存中)和基于xinetd服务.xinetd本身是独立的服务,其唯一的功能是管理其他服 ...

  6. [Linux]服务管理:rpm包, 源码包

    --------------------------------------------------------------------------------------------------- ...

  7. Linux服务管理 systemctl命令详解

    Linux服务器,服务管理--systemctl命令详解,设置开机自启动 syetemclt就是service和chkconfig这两个命令的整合     任务 旧指令 新指令 使某服务自动启动 ch ...

  8. Linux学习笔记(3)linux服务管理与启停

    一.LINUX 系统服务管理 1.RHEL/OEL 6.X及之前 service命令用于对系统服务进行管理,比如启动(start).停止(stop).重启(restart).查看状态(status)等 ...

  9. Linux服务管理之SSH

    Linux服务SSH ssh服务: 管理服务器的方式:                      本地管理类   (安装系统,故障修复)           SHH远程连接方式            ...

随机推荐

  1. BZOJ4517 Sdoi2016 排列计数 【DP+组合计数】*

    BZOJ4517 Sdoi2016 排列计数 Description 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 ...

  2. tableau-交互筛选器

    欢迎观看这段关于“交互筛选器”的视频.   将字段拖到筛选器功能区就可以轻松执行筛选,但是如果我们希望能够直接从视图中修改筛选器 选择项,那该怎么办?如果我们在可看到“子类别”字段的任何位置右键单击, ...

  3. 20165222 实验三 敏捷开发与XP实践

    实验内容: 1.XP基础 2.XP核心实践 3.相关工具 二.具体实验内容 (一)代码规范格式化 总结:感觉就那个Code->Reformate Code代码重新格式化最好用,其他的我都点了下, ...

  4. MYSQL在当前日期的基础上加上N(年月日分秒)

    //把id为1的那条数据的开始时间改为现在  结束时间改为开始时间的1个月后 update 表明 set  begintime=now(),endtime=date_add(NOW(), interv ...

  5. 如何理解HTTP协议的 “无连接,无状态” 特点?

    HTTP 是一个属于应用层的面向对象的协议,HTTP 协议一共有五大特点:1.支持客户/服务器模式:2.简单快速:3.灵活:4.无连接:5.无状态. 无连接 无连接的含义是限制每次连接只处理一个请求. ...

  6. Java 设计模式之抽象工厂模式(三)

    原文地址:Java 设计模式之抽象工厂模式(三) 博客地址:http://www.extlight.com 一.前言 上篇文章 <Java 设计模式之工厂模式(二)>,介绍了简单工厂模式和 ...

  7. angularJS控制器之间的相互通信方式、$broadcast、$emit、$on

    在项目中,我们可能会很经常性的利用到控制器之间的相互通信,在angular中的控制器之间的相互通信有以下几种方式: 1)通过本地数据的存储localstorage,sessionstorage, 2) ...

  8. string源码实现分析

    最近写hashtable的实现的时候用模板类的思想,在普通int,long,double类型的时候测试时没问题的,当用到string的时候,一直有问题. 实现的equal函数是比较粗暴的使用两者所有对 ...

  9. Java语言与C语言混合编程(1)--Java native 关键字

    一. 什么是 native Method 简单地讲,一个 native Method 就是一个java调用非java代码的接口.一个 native Method 是这样一个java的方法:该方法的实现 ...

  10. MOSS 2013研究系列---修改默认Logo

    开发SharePoint2013 的时候,系统里面有一个“SharePoint” 的logo,客户很少不满意,我们的系统不能出现产品的名称,如下图: 咋么修改呢,咨询了广大网友,给出了一个解决方案: ...