linux基础(一)服务分类与管理
2018-10-24 本文已影响2人
一名IT小学生
前言
对于linux的众多服务,我们可以根据其安装形式分为:
1.rpm默认安装的服务
2.源码包安装的服务
对于rpm默认安装的服务,又可以分为独立的服务和基于xinetd的服务
区别
1.通过rpm安装的服务和源码安装的服务安装后文件的位置不同
2.通过rpm安装的服务和源码安装的服务启动方式不同
安装位置的不同
源码安装的一般都手动放在/usr/local目录下
rpm安装的服务根据不同服务功能安装的目录在如图所示

启动方式的不同
一、rpm安装包的启动方式
1.独立服务的管理
注:
启动:当前系统下服务启动
自启动:下次开机后服务启动,现在服务是否启动不知道
netstat –pantu :查看系统启动的服务和服务的链接和监听状态
ps –aux 也是可以查看系统启动服务
lsof -i :端口号 #查看特定端口的服务类型
1.启动方式:
/etc/init.d/独立服务名 start|stop|status|restart #此方式适用所有linux系统
service 独立服务名 start|stop|status||restart #redhat系列系统才有命令
2.自启动方式:
chkconfig –level 2345 httpd on #--level 2345可以省略
编辑/etc/rc.d/rc.local 文件,在其中加入启动方式,例如在文件中写入: /etc/init/httpd start #此方式推荐
ntsysv
注:
-----/etc/rc.d/rc.local和/etc/rc.local互为软链接,任意一个即可。
-----2种自启动方法,二选一即可,各自不影响。
-----ntsysv命令和chkconfig 是一种方法,ntsysv是图形界面(也是redehat系列有此方法)
-----chkconfig --list 是查看服务自启动状态,可以看到所有rpm包安装的服务
2.基于xinetd服务
启动方法(以rsync服务为例):
1.编辑.vim /etc/xinted.d/rsync文件,更改如图所示参数

2.rsync等服务是基于xinetd,即被xinetd管理的,则重新启动rsync服务,要:service xinetd restart
若要自启动:
1.chkconfig rsync on
2.ntsysv
注:rsync服务的作用:用于linux之间数据备份
注:
只有独立的服务才有运行级别,而基于xinetd的服务没有运行级别;
chkconfig 启动基于xinetd的服务时,不能加运行级别,否则会报错;
独立的服务:启动就是启动,自启动就是自启动;
xinetd服务:启动和自启动相通,混为一谈,即通过chkconfig rsync on 和编辑/etc/xinetd.d/rsync文件的效果是一样的,改一个,另一个也会变,包括配置文件。
二、源码包的启动方式(apache为例)
具体apache安装方法及报错请参考:
https://blog.csdn.net/River_Crab/article/details/79732131
1.启动方式
使用绝对路径,调用启动脚本来启动
/usr/local/apache/bin/apachectl start | stop
lsof -i:80 #检查是否开启
注:
安装时,默认放在/usr/local/,也可以加上--prefix=目录来 指定路径
2.自启动方式
在配置文件:/etc/rc.local 中写入:/usr/local/apache/bin/apachectl start
3.被service所启动
ln -s /usr/local/apache/bin/apachectl /etc/init.d/httpd#做软链接
放到/etc/init.d目录下后,service可以识别,以便用service启动
eg:service httpd start #开启
lsof -i :80 #检查是否开启
4.被chkconfig所识别(以apache为例)
源码安装的Apache,chkconfig不支持:

为了使其支持源码安装的:
1.编辑/etc/init.d/httpd文件,加入下面2行(#不可省略)
#chkconfig:35 86 77
#description:source package apache
第一句话是:指定httpd脚本可以被chkconfig命令管理,格式:chkconfig :运行级别 启动顺序 关闭顺序
第二句话:说明,内容随意
注:此启动顺序 号和 关闭顺序号与/etc/rc3.d/下以“s”开头和以“k”开头的号码不能重复的任意号码。
/etc/rc5.d/是运行级别五的启动目录
2.执行chkconfig --add httpd 即可
总结如图:
