Linux服务管理(一)
先谢慕课网,谢谢老师。
一、简介与分类
二、RPM包服务管理
三、源码包服务管理
四、服务管理总结
一、简介与分类:
1.系统的运行级别
Linux默认有7个运行级别
0关机
1单用户模式,可以想象为Windows的安全模式,主要用于系统修复
2不完全的命令模式,不含NFS服务
3完全的命令行模式,就是标准字符界面
4系统保留
5图形模式
6重启动
查看级别
runlevel
查看当前级别,通常是3,标准字符界面;
切换级别
init 5
切换到5级别,但是因为服务器没有安全图形模式,所以进入没有正常启动
在此runlevel
就会返回3 5;
3是之前的级别,5就是现在的级别
init 0 关机
init 6 重启动
并不可靠,不介意用来关机和重启;
修改默认级别
vim /etc/inittab
修改配置文件控制系统开机后直接进入的运行级别
-id:3:initdefault
centos6之前 系统启动的大部分文件都在inittab文件里边,centOS6和centOs5重大的区别之一就是6把里面的一下内容放到了其他的文件,现在唯一生效的只有一句话: -id:3:initdefault,用来控制默认运行级别。0和6时不允许设置为默认级别的。
2.服务的分类
Linux服务是什么?
为什么要做服务管理?关掉不用的服务,占用的资源更少。是一个重要的优化过程。
Linux服务因为安装方法不同,对应的启动关闭方式也不同,可以分为RPM包安装的服务和源码包安装的服务。
(建议这么分,但是绝大多数的资料不这么认为,因为RPM安装的服务可以通过修改配置可以改成源码包相同的安装位置和启动关闭方式。)
RPM包中又分为独立的服务和基于xinetd服务。
xinted服务要比独立的服务慢,但是除了xinetd服务占内存,其他的服务不占内存;
但是现在xinetd服务基本被淘汰了;
使用chkconfig --list查看到的服务都是RPM服务,列表中都是独立的服务,基于xinted的服务也会标识出来;
如果没有标识,需要安装xinted服务本身------yum -y install xinetd;
常规服务只剩下rsyns,用来网络备份的服务。
管理:启动与自启动
chkconfig --list
如果2345上面是启动,开机会自启动;这条命令查看的是服务的自启动,无法知道服务现在是否启动。
查看已安装的服务和当前状态
RPM包安装的服务;
chkconfig --list查看RPM服务自启动状态,不能查看源码包服务,
源码包安装的服务:
查看服务安装位置,一般是/usr/local
RPM包和源码包安装之后的区别就是安装位置的不同
因为安装的位置不同,所以启动和自启动的方式不同;
3.服务与端口
如何知道当前系统下运行了哪些服务?
ps -aux
查看进程,但是系统当中不仅服务会占进程,程序也会占进程
netstat -tlunp
-t tcp端口
-l 列出正在监听的网络服务(不包含已经连接的网络服务);
-u udp端口
-p 看PID号和进程名;
-n 用端口号来显示服务,而不是服务名
查看端口,会列出所有已经启动的服务,如果队列不是0,说明端口比较繁忙。
状态下,tcp协议才是监听,因为tcp要三次握手,而udp不需要。
端口,一个ip地址可以有65536个( 0 ~ 65535 )端口。
应用层--传输层--网络层--物理层
传输层(TCP/UDP)
端口就是传输层往应用层传输服务的接口。
TCP有65536个端口,UDP也有65536个;通常TCP端口占用,UDP也会空置。
(像FTP/HTTP之类的端口,不建议修改,如果服务是用来给用户访问的,就不要修改,但是像22端口,是管理员远程连接的,修改之后更安全。)
10000以内的端口,是系统预留的,
vim /etc/services
文件里面记录了所有的服务对应的端口
chkconfig --list 看自启动
netstat -tlun 看启动的