Linux服务管理总结
简介与分类
系统的运行级别
运行级别 | 含义 |
---|---|
0 | 关机 |
1 | 单用户模式,可以想象为windows的安全模式,主要用于系统修复 |
2 | 不完全的命令行模式,不含NFS服务 |
3 | 完全的命令行模式,就是标准字符界面 |
4 | 系统保留 |
5 | 图形模式 |
6 | 重启动 |
使用runlevel
查看当前运行级别:
runlevel
// N 5
结果中第一位数是进入当前级别之前的级别,直接进入当前级别时为N;第二位数是当前级别。
使用init改变运行级别:
init 5 // 进入图形模型
init 0 // 关机
init 6 // 重启
使用init 0
和init 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服务管理总结的更多相关文章
- Linux基础学习(12)--Linux服务管理
第十二章——Linux服务管理 一.服务简介与分类 1.服务的分类: 注:独立的服务放在内存中(好处:响应的速率快,坏处:独立的服务越多,耗费的内存资源越多):xinetd服务本身是独立的,在内存中, ...
- Linux 服务管理两种方式service和systemctl
Linux 服务管理两种方式service和systemctl 1.service命令 service命令其实是去/etc/init.d目录下,去执行相关程序 # service命令启动redis脚本 ...
- 第11章 Linux服务管理
1. 服务分类 (1)Linux的服务 ①Linux中绝大多数的服务都是独立的,直接运行于内存中.当用户访问时,该服务直接响应用户,其好处是服务访问响应速度快.但不利之处是系统中服务越多,消耗的资源越 ...
- linux笔记:linux服务管理
linux服务的分类: 启动和自启动: 查询已经安装的服务: RPM包的默认安装路径: 独立服务的启动: 独立服务的自启动: 基于xinetd的服务的管理: xinetd服务的自启动: 源码包安装服务 ...
- Linux学习笔记(19) Linux服务管理
1. 服务的分类 Linux服务可分为RPM包默认安装的服务和源码包安装的服务.前者可细分为独立的服务(直接作用于内存中)和基于xinetd服务.xinetd本身是独立的服务,其唯一的功能是管理其他服 ...
- [Linux]服务管理:rpm包, 源码包
--------------------------------------------------------------------------------------------------- ...
- Linux服务管理 systemctl命令详解
Linux服务器,服务管理--systemctl命令详解,设置开机自启动 syetemclt就是service和chkconfig这两个命令的整合 任务 旧指令 新指令 使某服务自动启动 ch ...
- Linux学习笔记(3)linux服务管理与启停
一.LINUX 系统服务管理 1.RHEL/OEL 6.X及之前 service命令用于对系统服务进行管理,比如启动(start).停止(stop).重启(restart).查看状态(status)等 ...
- Linux服务管理之SSH
Linux服务SSH ssh服务: 管理服务器的方式: 本地管理类 (安装系统,故障修复) SHH远程连接方式 ...
随机推荐
- BZOJ4517 Sdoi2016 排列计数 【DP+组合计数】*
BZOJ4517 Sdoi2016 排列计数 Description 求有多少种长度为 n 的序列 A,满足以下条件: 1 ~ n 这 n 个数在序列中各出现了一次 若第 i 个数 A[i] 的值为 ...
- tableau-交互筛选器
欢迎观看这段关于“交互筛选器”的视频. 将字段拖到筛选器功能区就可以轻松执行筛选,但是如果我们希望能够直接从视图中修改筛选器 选择项,那该怎么办?如果我们在可看到“子类别”字段的任何位置右键单击, ...
- 20165222 实验三 敏捷开发与XP实践
实验内容: 1.XP基础 2.XP核心实践 3.相关工具 二.具体实验内容 (一)代码规范格式化 总结:感觉就那个Code->Reformate Code代码重新格式化最好用,其他的我都点了下, ...
- MYSQL在当前日期的基础上加上N(年月日分秒)
//把id为1的那条数据的开始时间改为现在 结束时间改为开始时间的1个月后 update 表明 set begintime=now(),endtime=date_add(NOW(), interv ...
- 如何理解HTTP协议的 “无连接,无状态” 特点?
HTTP 是一个属于应用层的面向对象的协议,HTTP 协议一共有五大特点:1.支持客户/服务器模式:2.简单快速:3.灵活:4.无连接:5.无状态. 无连接 无连接的含义是限制每次连接只处理一个请求. ...
- Java 设计模式之抽象工厂模式(三)
原文地址:Java 设计模式之抽象工厂模式(三) 博客地址:http://www.extlight.com 一.前言 上篇文章 <Java 设计模式之工厂模式(二)>,介绍了简单工厂模式和 ...
- angularJS控制器之间的相互通信方式、$broadcast、$emit、$on
在项目中,我们可能会很经常性的利用到控制器之间的相互通信,在angular中的控制器之间的相互通信有以下几种方式: 1)通过本地数据的存储localstorage,sessionstorage, 2) ...
- string源码实现分析
最近写hashtable的实现的时候用模板类的思想,在普通int,long,double类型的时候测试时没问题的,当用到string的时候,一直有问题. 实现的equal函数是比较粗暴的使用两者所有对 ...
- Java语言与C语言混合编程(1)--Java native 关键字
一. 什么是 native Method 简单地讲,一个 native Method 就是一个java调用非java代码的接口.一个 native Method 是这样一个java的方法:该方法的实现 ...
- MOSS 2013研究系列---修改默认Logo
开发SharePoint2013 的时候,系统里面有一个“SharePoint” 的logo,客户很少不满意,我们的系统不能出现产品的名称,如下图: 咋么修改呢,咨询了广大网友,给出了一个解决方案: ...