imooc-Linux服务管理
第1章 简介与分类
1-1 课程简介与系统运行级别
-
运行级别
运行级别 含义 0 关机 1 单用户模式,可以想象为windows的安全模式,主要用于系统修复(启动最小服务 2 不完全的命令行模式,不含NFS服务(进行文件共享的 3 完全的命令行模式,就是标准字符界面 4 系统保留 5 图形模式 6 重启动 -
运行级别命令
runlevel
:查看运行级别命令- A B:从A级别到B级别;N表示NULL,N B表示一开机就进入B级别
init 运行级别
:修改运行级别命令- 当系统没有装X级别的必要元素时,init X会在虚拟机报错
init 0
:关机;init 6
:重启动
-
系统默认运行级别
vim /etc/inittab
- id:3:initdefault
- 不能写0或6!
- 系统开机后直接进入哪个运行级别
1-2 服务的分类
-
<Linux服务> <RPM包默认安装的服务> <独立的服务> <基于xinetd服务> <源码包安装的服务>
-
RPM包和源码包的安装位置不同
-
独立服务:独立的运行在内存,任一客户端访问都可以直接响应,响应速度快;但是这些服务都要占用内存
xinetd服务:超级守护进程,管理一些后台程序,访问某一服务时需要先访问xinetd再访问到服务,响应速度慢;但是只有xinetd占用内存,它管理的服务都不占内存空间
-
基于xinetd的服务越来越少
- 其中的常用服务:rsync:Linux之间进行网络备份,网络复制的服务
-
1-3 启动与自启动
- 启动与自启动
- 服务启动:在当前系统中让服务运行,并提供功能
- 服务自启动:让服务在系统开机或重启动之后,随着系统的启动而自动启动服务
chkconfig --list
后2345皆为启动,则该项服务是自启动的
1-4 查询已安装的服务
- 查看已安装的服务
- RPM包安装的服务
chkconfig --list
:查看服务自启动状态,可以看到所有RPM包安装的服务
- 源码包安装的服务
- 查看服务安装位置,一般是/usr/local/下
- RPM包安装的服务
- RPM安装服务和源码包安装服务的区别
- 安装位置不同
- 源码包安装在指定位置,一般是/usr/local/下
- RPM包安装在默认位置中
- 启动和自启动服务不同
- 安装位置不同
1-5 服务与端口
-
端口:一个IP地址的端口可以有65536个
- TCP,UDP各有65536个,但是为了防止搞混,TCP,UDP一般不使用同一个端口号
- 传输层向应用层传递的接口
- 一般每一个服务(客户端访问的)都有一个固定的传输接口;若是管理员/加密使用,可以改
- (TCP)FTP:21
- (TCP)TELNET(远程管理协议):23 //非明文的,不安全
- (TCP)SMTP(简单邮件管理服务):25
- (TCP&UDP)DNS:53
- (UDP)TFTP(简单文件传输协议):69
- (UDP)SNMP(简单网络管理服务->监控):161
-
端口与服务的对应
- 1w以内系统预留的,1w以上给用户自己使用
- 查看常规端口对应服务:
/etc/services
-
查询系统中开启的服务
-
netstat -tlunp
:会列出系统中所有的已经启动的服务- -t:列出tcp服务
- -u:列出udp服务
- -l:列出正在监听的网络服务(不包含已经连接的网络服务)
- -n:用端口号来显示服务,而不是用服务名
- -p:列出该服务的进程ID(PID)
Proto Recv-Q Send-Q Local Address Foreign Address State tcp/udp 接收队列 发生队列 本地IP地址 远程连接 端口状态 - 当队列不为0时说明该端口比较繁忙
- 只有tcp的状态为LINSTEN(TCP有三次握手
-
netstat -an
:查看已经连接的服务、程序 -
ps aux
:所有正在进行的进程
-
第2章 RPM包服务管理
2-1 独立的服务管理1
-
RPM包安装服务的位置
位置 服务类型 /etc/init.d/ 启动脚本位置 /etc/sysconfig/ 初始化环境配置文件位置 /etc/ 配置文件位置 /etc/xineted.conf xinetd配置文件 /etc/xinetd.d/ 基于xinetd服务的启动脚本 /var/lib/ 服务产生的数据放在这里 /var/log/ 日志
2-2 独立的服务管理2
- 独立服务的启动
- /etc/init.d/独立服务名 start|stop|status|restart
- /etc/rc.d/init.d/
- service 独立服务名 start|stop|restart||status
- service命令不是linux的指令,而是redhat的
- 默认情况下,这些命令不能启动源码包!
- (如果源码包在/etc/init.d/文件下
- /etc/init.d/独立服务名 start|stop|status|restart
2-3 独立的服务管理3
- 独立服务的自启动
- chkconfig [(–level) 运行级别] [独立服务名] [on|off]
- 修改/etc/rc.d/rc.local文件
- 系统启动后用户登录之前,最后执行的一个文件(每次启动都会执行
touch /var/lock/subsys/local
:每次的开机时间都是文件的最后修改时间- 建议使用该方法
- 使用ntsysv命令管理自启动
- 服务前*则开机自启
- redhat专有
- 1.3为同一种方法,与2是不同的
2-4 基于xinetd服务的管理
-
安装xinetd
yum -y install xinetd
-
xinetd服务的启动
-
vi /etc/xinetd.d/rsync
-
rsync是目前redhat下基于xinetd的一个常规服务,主要作用是进行linux之间的数据备份,数据同步的
-
service rsynx <-服务的名称为rsync { flags = REUSE <-标志为REUSE,设定TCP/IP socket可重用 socket_type = stream <-使用TCP协议数据包 wait = no <-允许多个连接同时连接 user = root <-启动服务的用户为root server = /usr/bin/rsync <-服务的启动程序(脚本所在位置) log_on_failure += USERID <-登录失败后,记录用户的ID disable = no <-服务不启动 }
- 修改disable
- service xinted restart
- rsync不是独立的服务
-
-
-
xinetd服务的自启动
chkconfig rsync on
ntsysv
-
基于xinetd的服务,启动和自启动是通用的!!!
第3章 源码包服务管理
3-1 源码包服务管理
-
源码包安装服务的启动
- 使用绝对路径,调用启动脚本来启动。不同的源码包的启动脚本不同。可以查看源码包的安装说明,查看启动脚本的方法
-
源码包服务的自启动
vi /etc/rc.d/rc.local
- 加入
usr/local/apache2/bin/apachectl start
- 加入
-
让源码包服务被服务管理命令识别
-
让源码包的apache服务能被service命令管理启动
ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apache
(软链接
-
让源码包的apache服务能被chkconfig与ntsysv命令管理自启动
-
vi /etc/init.d/apache
-
# chkconfig:35 86 76 #指定httpd脚本可以被chkconfig命令管理。格式是:chkconfig:运行级别 启动顺序 关闭顺序 #启动,关闭顺序号可以任意写,但是不能跟原有的冲突 #原有检查:cd /etc/rc3.d/ -> ls K-启动 S-关闭 # description:source package apache #说明,内容随意
-
chkconfig --add apache
- 把源码包apache加入chkconfig命令
-
-