第十二章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 服务管理总结


你可能感兴趣的:(第十二章Linux服务管理(RPM包管理,xinetd服务,源码包服务))