第十二章 Linux服务管理
第一节 服务简介与分类
服务的分类
启动与自启动
- 服务启动:就是在当前系统中让服务运行 ,并提供功能。
- 服务自启动:自启动是指让服务在系统开 机或重启动之后,随着系统的启动而自动 启动服务。
查询已安装的服务
-
RPM包安装的服务
- chkconfig --list
查看服务自启动状态,可以看到所有RPM包安装的服务,查看在进入不同级别的启动中所有服务的启动状态 - ps aux
查看启动服务的进程
- chkconfig --list
-
源码包安装的服务
查看服务安装位置,一般是/usr/local/下
RPM安装服务和源码包安装服务的区别
就是安装位置的不同
- 源码包安装在指定位置,一般是/usr/local/
- RPM包安装在默认位置中
第二节 RPM包安装服务的管理
第一讲 独立服务的管理
RPM包安装服务的位置
RPM安装服务和源码包安装服务的区别就是安装位置的不同
- 源码包安装在指定位置,一般是/usr/local/
- RPM包安装在默认位置中
/etc/init.d/:启动脚本位置
/etc/sysconfig/:初始化环境配置文件位置
/etc/:配置文件位置
/etc/xinetd.conf:xinetd配置文件
/etc/xinetd.d/:基于xinetd服务的启动脚本
/var/lib/:服务产生的数据放在这里
/var/log/:日志
独立服务的启动
- /etc/rc.d/init.d/独立服务名 start|stop|status|restart
- service 独立服务名 start|stop|restart|status
service --status-all 查询服务器全部已经安装的RPM包的服务的运行状态
CentOS7为systemctl list-unit-files
不过server是红帽版本专有的
独立服务的自启动
-
chkconfig [–level 运行级别] [独立服务名] [on|off]
- chkconfig --level 2345 htttpd on 下次开机自启动apache
- chkconfig --level 2345 htttpd off 下次开机不自启动apache
-
修改/etc/rc.d/rc.local文件
把/etc/rc.d/init.d/ 独立服务名 start 写入文件 -
使用ntsysv命令管理自启动
如果没有ntsysv命令,yum -y install ntsysv下载即可,不过这个也是红帽专有的
第二讲 基于xinetd服务的管理
- xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器,常用来管理多种轻量级Internet服务。
xinetd提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。 - Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。不过现在已经被ssh替代。
安装xinetd与telnet
yum -y install xinetd
yum -y install telnet-server
telnet 服务器端不安全,实验完之后立马删除!!!
xinetd服务的启动
- 进入配置文件,把disable=yes改为no
vim /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服务
service xinetd restart
重启xinetd服务,基于他的telnet自动重启
xinetd服务的自启动
- chkconfig telnet on
- ntsysv
基于xinetd的服务自启动和启动是相通的,非常不适合做服务器管理,开启自启动,服务自动启动。关闭自启动,服务也关闭 。
第三节 源码包安装服务的管理
-
源码包安装服务的启动
使用绝对路径,调用启动脚本来启动。不同的源码包的启动脚本不同。可以查看源码包的安装说明,查看启动脚本的方法。
/usr/local/apache2/bin/apachectl start|stop -
源码包服务的自启动
vi /etc/rc.d/rc.local
加入
/usr/local/apache2/bin/apachectl start -
让源码包服务被服务管理命令识别
让源码包的apache服务能被service命令管理启动
ln -s /usr/local/apache2/bin/apachectl /etc/init.d/apache -
让源码包的apache服务能被chkconfig与 ntsysv命令管理自启动
- 在创建好软链接后,修改servic可以扫描的Apache文件
vi /etc/init.d/apache
#chkconfig: 35 86 76
#指定httpd脚本可以被chkconfig命令管理。格式是: chkconfig: 运行级别 启动顺序 关闭顺序
启动级别在/etc/rc.d/ 里面查看,rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d这六个就是0-6运行级别中文件的启动以及关闭顺序,启动顺序以S打头,关闭顺序以K打头,只需要找一个没有被占用的数字即可,不能和现有的顺序重叠。
#description: source package apache
#说明,内容随意
只需要写两句英文即可,两句都是注释,都得有#号,写在文件开始。
不太推荐修改,使用标准的启动方式就比较好
- 在创建好软链接后,修改servic可以扫描的Apache文件