• 让源码包apache服务被服务管理命令识别


    在默认情况下,源码包服务是不能被系统的服务管理命令所识别和管理的,但是如果我们做一些设定,则也是可以让源码包服务被系统的服务管理命令所识别和管理的。不过笔者并不推荐大家这样做,

    因为这会让本来区别很明确的源码包服务和 RPM 包服务变得容易混淆,不利于系统维护和管理。

    我们做一个实验,看看如何把源码包安装的 apache 服务变为和 RPM 包默认安装的 apache 服务一样,可以被 service、chkconfig、ntsysv 命令所识别。实验如下:

    1) 卸载RPM包默认安装的apache服务

    [root@localhost ~]# yum -y remove httpd
    #卸载RPM包默认安装的apache服务,避免对实验产生影响(在生产服务器上慎用yum卸载,因为这有可能造成服务器崩溃)
    [root@localhost ~]# service httpd start httpd:未被识别的服务
    #因为服务被卸载,所以service命令不能识别httpd服务

    2) 安装源码包的apache服务,并启动

    #安装源码包的apache服务
    [root@localhost ~]# /usr/local/apache2/bin/apachect1 start   ##一般 apache 服务的安装位置是 /usr/local/apache2/ 目录,那么 apache 服务的启动脚本就是 /usr/local/apache2/bin/apachectl 文件(查询 apache 说明文档得知)
    [root@localhost ~]# netstat -tlun | grep 80
    tcp 0 0 :::80 :::* LISTEN
    #启动源码包安装的apache服务,查看端口确定已经启动

    3) 让源码包安装的apache服务能被service命令管理启动

     [root@localhost ~]# ln -s /usr/local/apache2/bin/apachectl /etc/±nit.d/apache
    #service命令其实只是在/etc/init.d/目录中查找是否有服务的启动脚本,所以我们只需要做一个软链接,把源码包的启动脚本链接到/etc/init.d/目录中,就能被service命令所管理了。
    
    为了照顾大家的习惯,我把软链接文件命名为apache,注意这不是RPM包默认安装的apache服务
    [root@localhost ~]# service apache restart
    #虽然RPM包默认安装的apache服务被卸载了,但是service命令也能够生效

    4) 让源码包安装的apache服务能被chkconfig命令管理自启动

    [root@localhost ~]# vi /etc/init.d/apache
    #修改源码包安装的apache服务的启动脚本(注意此文件是软链接,所以修改的还是源码包启动脚本)
    #!/bin/sh
    #
    #chkconfig: 35 86 76
    #指定httpd脚本可以被chkconfig命令所管理
    #格式是:chkconfig:运行级别 启动顺序 关闭顺序
    #这里我们让apache服务在3和5级别中能被chkconfig命令所管理,启动顺序是S86,关闭顺序是K76
    #(自定顺序,不要和系统中已有的启动顺序冲突)
    #description: source package apache
    #说明,内容随意
    #以上两句话必须加入,才能被chkconfig命令所识别 ...省略部分输出...
    [root@localhost ~]# chkconfig --add apache
    #让chkconfig命令能够管理源码包安装的apache服务
    [root01ocalhost ~]# chkconfig --list | grep apache
    apache 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
    #很神奇吧,虽然RPM包默认安装的apache服务被删除了,但是chkconfig命令可以管理源码包安装的tapache服务

    总结一下,如果想让源码包服务被service命令所识别和管理,则只需做一个软链接把启动脚本链接到 /etc/init.d/ 目录中即可。要想让源码包服务被 chkconfig 命令所是被,

    除了需要把服务的启动脚本链接到 /etc/init.d/ 目录中,还要修改这个启动脚本,在启动脚本的开头加入如下内容:

    #chkconfig:运行级别 启动顺序 关闭
    #description:说明

    然后需要使用"chkconfig--add 服务名"的方式把服务加入 chkconfig 命令的管理中。命令格式如下:

    [root@localhost ~]# chkconfig [选项][服务名]

    选项:

    • -add:把服务加入 chkconfig 命令的管理中;
    • -del:把服务从 chkconfig 命令的管理中删除;


    例如:

    [root@localhost ~]# chkconfig -del httpd
    #把apache服务从chkconfig命令的管理中删除
  • 相关阅读:
    梁祝(二胡独奏曲)
    《祝你一路顺风》-吴奇隆
    《祝你一路顺风》-吴奇隆(吉他谱)
    《少年王》片尾曲《白》——吴奇隆(简谱)
    《梁祝》-化蝶(五线谱)
    《西游记》--女儿情(简谱)
    cnn handwrite使用原生的TensorFlow进行预测
    tflearn 中文汉字识别,训练后模型存为pb给TensorFlow使用——模型层次太深,或者太复杂训练时候都不会收敛
    TensorFlow 图像预处理(一) 图像编解码,图像尺寸调整
    迁移学习算法之TrAdaBoost ——本质上是在用不同分布的训练数据,训练出一个分类器
  • 原文地址:https://www.cnblogs.com/Crazy-Liu/p/11320859.html
Copyright © 2020-2023  润新知