Linux之服务管理

1.  服务是什么

服务其实也是一款软件,只不过这个软件可以被其他软件引用或者依赖,也就是说这款软件为其他软件提供服务,所以叫做服务。

有一些服务是相互依赖的,有一些是独立的服务,不依赖其他服务。

2.  Linux服务分成两个类别

2.1.rpm包默认安装的服务,

        独立的服务--就在内存中

        基于xinetd服务----xinetd本身是独立的在内存中,然后它管理一堆服务,由xinetd响应被要求的服务。被要求的服务是没有在内存中的,也就是没有运行,只有当xinetd调用它的时候才会形影,所以响应时间比较慢

       2.2源码包安装的服务(相当于外来的)

3. 启动和自启动

       服务启动:就是在当前系统中让服务运行,并且提供功能

       服务自启动:就是让服务在系统开机或者重新启动之后随着

       系统的启动而启动服务。

4. 查询已经安装的服务

       注意是rpm包才能查得到,因为系统查询是否安装了,是需要去这个/etc/rc.d/init.d/,或者/etc/init.d/(是上一个目录的软连接)目录下找相关的启动程序的,而源码包安装的位置是一般是/usr/local/下,所以查看服务是否安装一般情况下,可以去这个目录下,找到服务,看能不能启动

      4.1查询rpm包安装的服务

       chkconfig--list            #chkconfig是checkconfig的缩写

    

5. 独立服务的管理

      5.1.服务安装默认安装位置

       /etc/init.d/      独立服务启动脚本位置和/etc/rc.d/init.d/这两个位置是软连接,写那个都行

       /etc/sysconfig/      初始化环境配置文件位置

       /etc/              配置文件位置

       /etc/xinetd.confxinetd配置文件

       /etc/xinetd.d/ 基于xinted服务的启动脚本

       /var/lib/  服务产生的数据放在这里

       /var/log/ 日志

      5.2. 独立服务的启动方式:

       /etc/init.d/独立服务名 start|stop|status|restart

 

       service独立服务名 start|stop|restart|status   #红帽子专有系列

       service--status-all 显示所有系统中所有已经用rpm安装的服务的状态

      5.3.立服务的自启动

              5.3.1..第一种方式

              设置自启动:

              chkconfig --level 2345 httpd on   #这个仅仅是设置了下次开机或者重启自启动,

              默认级别就是2345(系统的默认级别),所以可以省略,直接用chkconfig httpd on

           关闭自启动:

              chkconfig httpd off

              chkconfig [--level 运行级别] [独立服务名] [on|off]

              5.3.2.第二种方式:(建议)

              修改/etc/rc.d/rc.local的文件

              在这个文件中加上这么一行/etc/rc.d/init.d/服务名 start

              因为这个文件每次启动的时候都会被系统读取,所以在这个文件中加入这个

              一行,自然也会读取这个命令,所以就会自启动了。

              5.3.3.第三种方式:

              使用ntsysv命令管理自启动,会出现这个图像化界面

              如果想要自启动,就可以在前面的方括号里面,加上*号

              否则按下空格,*号就会消失了,就取消自动启动了

              这个命令可以管理独立服务和基于xinted服务的服务

              这个家伙同样是红帽子专有,所以chkconfig启动是标准命令

            Linux之服务管理_第1张图片

6. 基于xinted服务的管理

       现在基于xinted越来越少。一般来说只有不太安全的telnet(远程服务)现在都使用ssh服务了,网络备份服务sync,rsync。所以在这里就不说了,因为基本没什么用。

7. 源码包服务管理

      7.1.源码包的启动方式:

       使用绝对路径,调用脚本来启动。不同的源码包的启动脚本不同,

       可以查看源码包安装说明,查看启动脚本的方法。

 

       比如:/usr/local/apache2/bin/apahectl start|stop  #没有重启命令,先关闭在启动就行

      7.2. 源码包自启动:

       修改/etc/rc.d/rc.local的文件,加入一行

       /usr/local/服务名路径 start        #前面已经说过,这个文件会开机自动读取,所以也会自动执行相应的命令。

      7.3. 让源码包服务被服务管理命令识别

              7.3.1.让源码包的apache服务能别service命令管理启动

                     ln-s /usr/local/启动脚本 /etc/init.d/启动脚本文件名

 

                     #这一行的作用是当service命令来这个目录下查找的时候可以找得到

              7.3.2.让源码包的服务能被chkconfig与ntsysv命令管理自启动

                     ◆vi /etc/init.d/服务的启动脚本

                     #编辑这个启动脚本

                     加入这两行注释

                     #chkconfig:35 86 76

                     #Description:source package apache

                     注意:这是两行注释,就像编写shell脚本一样,必须加上这两行注释,才能被chkconfig与ntsysv识别,

                     下面解释它的格式:

                     chkconfig :运行级别 启动顺序关闭顺序

                     Descriptio:source package apache

 

                     运行级别是系统的运行级别:35,的意思是在系统的3,级别和5级别上可以执行这个操作,至于启动顺序就是见下图

                

                

如果是3级别和5级别,那么就分别进入rc3.d和rc5.d目录下面去找,比如我打开rc3.d,目录如下图:

                Linux之服务管理_第2张图片

如果是以s开头的文件就是开机的时候自启动顺序,那么以k开头就是关机的时候,服务关闭的顺序,所以启动顺序和关闭顺序,也是如此,只要和上面的数字不重复就行。

 

       ◆

编辑完这个文件之后

       执行

       chkconfig--add apache

       #将apache服务添加到chkconfig序列,就能用chkconfig管理源码包服务了

 

 

       chkconfig--del apache       #在chkconfig序列减去这个服务,

 





你可能感兴趣的:(Linux)