linux服务大致分为两类:
rpm包安装的服务(又分为独立的服务和基于xinetd的服务)
源码包安装的服务
源码包是开源的,自定义性强,通过编译安装更加适合系统,但是安装速度较慢,编译时容易报错。RPM 包是经过编译的软件包,安装更快速,不易报错,但无法看到源代码。
源码包安装到我们手工指定的位置当中(一般是/usr/local/目录下),而 RPM 包安装到系统默认位置当中(默认安装在/etc目录下)。RPM 包安装到系统默认位置,可以被服务管理命令识别(如service,chkconfig命令);但是源码包安装到手工指定位置,当然就不能被服务管理命令识别了(可以将源码包的启动脚本放到系统默认位置/etc/init.d目录被服务管理命令识别。例如:ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apache)
独立的服务:就是独立启动的意思,这种服务可以自行启动,而不用依赖其他的管理服务。因为不依赖其他的管理服务,所以,当客户端请求访问时,独立的服务响应请求更快速。目前,Linux 中的大多数服务都是独立的服务,如 apache 服务、FTP 服务、Samba 服务等。
基于 xinetd 的服务:这种服务就不能独立启动了,而要依靠管理服务来调用。这个负责管理的服务就是 xinetd 服务。xinetd 服务是系统的超级守护进程,其作用就是管理不能独立启动的服务。当有客户端请求时,先请求 xinetd 服务,由 xinetd 服务去唤醒相对应的服务。当客户端请求结束后,被唤醒的服务会关闭并释放资源。这样做的好处是只需要持续启动 xinetd 服务,而其他基于 xinetd 的服务只有在需要时才被启动,不会占用过多的服务器资源。但是这种服务由于在有客户端请求时才会被唤醒,所以响应时间相对较长。
独立服务的启动:
/etc/init.d/独立服务名 start|status|stop|restart
service 独立服务名 start|status|stop|restart(redhat系列专有命令)
独立服务的自启动:
(1)chkconfig [–level 运行级别] 独立服务名 [on|off]
开启自启动,但是此时服务不一定启动,它只能保证下一次开机时启动。–level 2345可省略,默认就是–level 2345
(2)在/etc/rc.d/rc.local文件中添加需要自启动的服务的启动命令(源码包服务也可使用)
(3)使用ntsysv命令管理自启动(可以管理rpm包的独立服务和基于xinetd服务)
基于xinetd的服务越来越少了,linux现在默认都没有安装xinetd.我们可以通过yum -y install xinetd安装。在通过chkconfig --list就可以看到了