易怀源

导航

Linux服务管理(二)

二、RPM包服务管理:

独立的服务启动快,占用的内存多
基于xinetd的服务越来越少


独立的服务的管理方法:
    /etc/init.d/:启动脚本位置
    /etc/sysconfig/:初始化环境配置文件位置
    /etc/:配置文件位置
    /etc/xinetd.conf:xinetd配置文件
    /etc/xinetd.d/:基于xinetd服务的启动脚本
    /var/lib/:服务产生的数据放在这里
    /var/log/:日志

(Linux一切皆文件)
独立服务的启动(标准方式就是找到绝对路径 回车启动):
    一、 /etc/init.d/独立服务名  start|stop|restart|status
    所有通过RPM包安装的服务都在这个文件里面
    /etc/rc.d/init.d/这个目录也是一样的,最早的时候,所有的服务都是放在这个目录里面的,使用较早的管理人员可能习惯这个目录,这两个都是一样的,为了照顾管理员习惯,做了一个软连接
    二、service 独立服务名 start|stop|restart|status
    但是service并不是Linux标准命令,而是redhat系列独立拥有的,其他的Linux并不拥有这个命令;实际搜索的还是绝对路径。
独立服务的自启动(下次开机之后运行)
    一、chkconfig --list | grep 独立服务名(查看自启动状态)
    chkconfig --level 2345 独立服务名 on(开启)
    chkconfig --level 2345 独立服务名 off (关闭)
    二、修改/etc/rc.d/rc.local文件
    也有一个软件界/etc//rc.local
    在系统启动的时候,把所有的服务启动完之后,读取的文件;
    把服务的启动命令放在这里,保存退出,重启之后服务就可以运行;
    /etc/rc.d/init.d/独立服务名 start
    但是这样做不影响第一种方法,也就是添加之后,chkconfig --list并不能看到变化,如果把两种方法都操作,开机之后服务会启动两次,第二次启动就会报错;
    (上面两种方式互相不影响,推荐使用第二种,也就是修改配置文件的方式,只要打开这个文件看,就可以知道)
    三、ntsysv命令,与第一种是一样的,只是图形界面;


基于xinetd的服务的管理:
    不占内存,管理效率慢,越来越少;
    第一步要安装xientd服务
    查看服务的端口: grep rsyns(服务名) /etc/services  端口是873,默认是没有开启的

启动方法:
    vi /etc/xinetd.d
    基于xient的所有服务的启动脚本都在这个目录里面
    修改/etc/xinetd.d/服务名 文件
    vi /etc/xinetd.d/rsync
    disable就是不允许,把disable改为no;
    修改之后要重启xinetd服务 /etc/init.d/xinetd restart
    再去查看端口,已经开启了873端口

自启动方法:
    跟独立的服务很类似,但是没有service命令,有chkconfig和ntsysc命令
    chkconfig rsync on
    基于xinetd的服务是不加级别的
    chkconfig rsync off不仅开机不启动,当前也会关闭;

    启动rsync,自启动也打开了,关闭了自启动,当前也关闭了
    基于xinetd的服务,启动与自启动混为一团,启动与自启动同步。


三、源码包服务管理
因为安装位置的不同,管理RPM包服务的一些命令不能直接管理源码包服务,因为源码包没有安装在/etc/rc.d/init.d目录里面,这些服务管理命令都会扫描这个目录;
源码包安装服务的启动:
    使用绝对路径,调用启动脚本启动。
    不同的源码包的启动脚本不同。可以查看源码包的安装说明,查看启动脚本的方法。
    /usr/local/apache2/bin/apachectl start|stop|restart|status
    (启动apache都会有一个报错,是因为完整的主机名不能解析为127.0.0.1,不影响正常启动)
源码包服务的自启动:
    vi /etc/rc.d/rc.local
    加入启动命令
    /usr/local/apache2/bin/apachectl start
    就可以了

让源码包服务被服务管理命令识别
    创建软连接
        ln -s /usr/local/apache2/bin/apchectl /etc/init.d/apachectl
        service命令可以管理

让源码包的apache服务能被chkconfig与ntsysc命令管理自启动
    先在指定的脚本加入下面的两句话
        vi /etc/init.d/apachectl
        写入 chkconfig: 运行级别 启动顺序 关闭顺序(启动顺序号和关闭顺序号不能跟现有的顺序重复 顺序号在/etc/rc.d目录下查看)
        #    chkconfig 35 86 76
        写入文档注释:
        #    description: source package apachectl
    再使用命令 chkconfig --add apachectl

posted on 2016-06-13 11:24  易怀源  阅读(223)  评论(0编辑  收藏  举报