第十二章Linux服务管理(RPM包管理,xinetd服务,源码
12.1 服务简介与分类
1、 服务的分类
1)RPM包,默认安装的服务,分为独立的服务和基于xinetd服务
2)源码包安装的服务
2、启动与自启动
服务启动:就是在当前系统中让服务运行,并提供功能。
服务自启动:自启动是指让服务在系统开机或重启动之后,随着系统的启动而自动启动服务。
查询已安装的服务
RPM包安装的服务
chkconfig --list
#查看服务自启动状态,可以看到所有RPM包安装的服务
如果在2345字段中有启动字样表示,系统启动时,这个服务也会启动
tip: ps -aux | grep crood
可以用这个命令查看crood运行情况。ps命令可以查看所有在系统中已经运行的服务
tip: netstat -tiun
也可以看启动的服务,但是如果该服务没有端口号,就看不到。最保险的还是用ps命令
源码包安装的服务
查看服务安装位置,一般是/usr/local/下
RPM安装服务和源码包安装服务的区别
RPM安装服务和源码包安装服务的区别就是安装位置的不同
源码包安装在指定位置,一般是/usr/local/
RPM包安装在默认位置中
12.2 RPM包安装服务的管理
12.2.1 独立服务的管理
1、 RPM包安装服务的位置
RPM安装服务和源码包安装服务的区别就是安装位置的不同
源码包安装在指定位置,一般是/usr/local/
RPM包安装在默认位置中 /etc/init.d/:启动脚本位置
/etc/sysconfig/:初始化环境配置文件位置
/etc/:配置文件位置
/etc/xinetd.conf:xinetd配置文件
/etc/xinetd.d/:基于xinetd服务的启动脚本
/var/lib/:服务产生的数据放在这里
/var/log/:日志
2、 独立服务的启动
/etc/init.d/独立服务名 start|stop|status|restart|
service 独立服务名 start|stop|restart||status
tip: service --status-all
这个命令会列出Linux中所有已经安装rpm包的服务
3、 独立服务的自启动
chkconfig [--level 运行级别] [独立服务名] [on|off]
修改/etc/rc.d/rc.local文件
使用ntsysv命令管理自启动(要启动的就在前面加*)
如:chkconfig --level 2345 httpd on
这个命令只能保证下次开机,httpd服务会启动。现在httpd服务是否启动不知道,要用(2)命令查询。--level也可以省略,其默认级别就是2345
tips: service和chkconfig命令的功能在Centos7中好像都被阉割了。被systemctl取代。
参考博文:Centos7下的systemctl命令与service和chkconfig
12.2.2 基于xinetd服务的管理
Xinetd:即extended internet daemon,是新一代的网络守护进程服务程序,又叫超级Internet服务器,常用来管理多种轻量级Internet服务。Xinetd提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。
1、 安装xinetd与telnet
[root@localhost ~]# yum -y install xinetd
[root@localhost ~]# yum -y install telnet-server
2、 xinetd服务的启动
[root@localhost ~]# vi /etc/xinetd.d/telnet
service telnet <- 服务的名称为telnet
{
flags = REUSE <- 标志为REUSE,设定TCP/IP socket可重用
socket_type = stream <-使用TCP协议数据包
wait = no <-允许多个连接同时连接
user = root <- 启动服务的用户为root
server = /usr/sbin/in.telnetd <- 服务的启动程序
log_on_failure += USERID <- 登陆失败后,记录用户的ID
disable = no <- 服务不启动
}
重启xinetd服务
[root@localhost ~]# service xinetd restart
#因为telnet服务是基于xinetd的,所以只要启动了xinetd就可以启动它。但是不能用命令 service telnet restart,没有这个命令。telnet要靠xinetd启动。
通过 netstat -tlun 可以看到tcp 23号端口已经启动
3、 xinetd服务的自启动
[root@localhost ~]# chkconfig telnet on
或者 ntsysv
#如果关闭自启动chkconfig telnet off,则它的服务也会关闭。也就是说xinetd的自启动与启动是通用的。很不安全。
12.3 源码包安装服务的管理
1、 源码包安装服务的启动
使用绝对路径,调用启动脚本来启动。不同的源码包的启动脚本不同。可以查看源码包的安装说明,查看启动脚本的方法。
/usr/local/apache2/bin/apachectl start|stop
2、 源码包服务的自启动
[root@localhost ~]# vi /etc/rc.d/rc.local
加入
/usr/local/apache2/bin/apachectl start
3、 让源码包服务被服务管理命令识别 -做软连接
让源码包的apache服务能被service命令管理启动
ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apache
然后就可以用命令:service apache restart 启动源码包安装的apache
netstat -itun | grep 80 可以看到80端口
让源码包的apache服务能被chkconfig与ntsysv命令管理自启动
vi /etc/init.d/apache
# chkconfig: 35 86 76
#指定httpd脚本可以被chkconfig命令管理。格式是:
chkconfig: 运行级别 启动顺序 关闭顺序
# description: source package apache
#说明,内容随意
[root@localhost ~]# chkconfig --add apache
#把源码包apache加入chkconfig命令
然后就可以用命令:chkconfig --list | grep apache
或者 chkconfig apache on
12.4 服务管理总结