服务分类
因为Linux
整个系统都是RPM
包装的,所以RPM
是默认服务
Linux
中绝大多数服务都是独立的,直接服务就在内存里,当有用户访问这个服务,这个服务直接响应用户,好处是服务的访问响应速度更快,坏处是独立服务越多,耗费的系统资源就越多。
基于xineted
的服务是(xineted
服务本身是独立的,就在内存当中),xineted
本身没有任何功能,它唯一的功能是它后面有一系列被它管理的服务。比如要访问rsync(备份服务)
,用户是不能直接找到它的,因为其不在内存,要先找xineted
,然后通过xineted
访问它,因为它被xineted
管理。它的好处是后面所有基于xineted
的服务本身不占用内存,但坏处是响应速度比独立的服务响应速度更慢
下面要讲的就是独立的服务,基于xineted的服务和源码包服务如何启动和自启动
如上图,2345写的启用,指的是Linux只要重启,Linux只要是进入2345这四个运行级别当中的一个,这个服务会随着系统的启用而自动运行。chkconfig
是服务自启动查看命令,如果查出启用并不代表当前服务已经在系统当中运行,而代表这服务会随着系统的启用下次运行。
查看当前服务在系统中是否运行两个方法,ps aux
查看系统当中所有运行的进程,比如ps aux | grep crond
如下图,service
是搜索的第二个命令上写的目录,而源码包是在/usr/local
内的,所以service
默认情况下只能用在rpm
包
RPM服务管理之独立服务管理
/etc/init.d
是独立服务启动脚本,status
是查看当前服务状态,service
命令是红帽专有
service --status-all
,列出系统当中所有RPM
包安装的服务的状态,如下图
上图第一个命令的--level
可以省略,因为其默认级别就是2345
。
比如下图设置httpd
自启动
上图推荐第二种方法。直接打开文件就可以看到哪些服务开机启动。也不容易冲突报错。
下图为打开/etc/rc.local
,在系统所有的服务都启动完之后,在碰到输入用户名密码之前,最后会读取这个文件里的数据。这个文件里写任何数据在登录用户名之前都会执行一遍
所以只要像下图这样写入/etc/rc.d/init.d/httpd start
,每次开机httpd
就一定启动。上图touch
是摸的意思,如果没有,没摸到就新建,如果有就改变最后一次访问时间。
下图为ntsysv
,这也是红帽专有命令。如果想要启动某个服务在它前面打*
,如果不想启动,就取消(都是按空格),而且这条命令不仅可以管理独立服务,还可以管理基于xineted
的服务,当然不能管理源码包的服务。按tab
键退出
RPM服务管理之基于xinetd(超级手工进程)服务管理(了解)
Linux
现在基于xinetd
的服务越来越少了,telnet
服务非常不安全,用它做远程管理已经被淘汰了,我们只是用它的客户端来测试一下端口是不是能够连接,现在远程管理使用ssh
服务。
xinetd
的启动和自启动是通的,将其改为启动,自启动也会开启,关闭自启动chkconfig talnet off
,它的服务也同时会停止。
源码包服务管理
非常不推荐上图的做法。
上图意思是第86个启动,第76个关闭。这个运行级别不能和系统已有的顺序一样,通过下图的方法看到系统现有的,以3为例,如下图,开启的时候按照S级别
依次开启服务,退的时候按照K级别
依次关闭服务。
意思就是上图中的86,76,下图不能有S86和K76.
下图为常见的服务