二、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