Linux自启动服务和添加服务进系统

Linux系统启动目录说明:
A. /etc/init.d: 所有启动脚本存放的目录, 同时也是 service 命令查找的目录
    查找service路径 type service
B. 查看service脚本内容 vim /usr/sbin/service

C. /etc/init.d/rc.local: 以服务的形式执行/etc/rc.local
D./etc/rc*.d: 对应指定启动级别下需要启动的脚本文件,连接到init.d目录
E./etc/rc.local: 当执行完所有rc*.d目录下的文件后执行该脚本,该脚本中通常只是放一些简单的指令而已。

     以上这些脚本都是被init程序所执行,所以执行时拥有root权限。


添加源码安装程序到系统服务开机自动启动

比如添加 源码安装的apache服务:

添加apache服务为系统服务:

1.添加服务脚本

#cp /usr/apache2/bin/apachectl  /etc/rc.d/init.d/httpd        #/etc/init.d/httpd与/etc/rc.d/init.d/httpd是同一个文件
#ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S61httpd

当init.d目录下有httpd脚本后,我们就可以通过service命令来启动关闭apache了,此时可以说已经成添加了apache系统服务。
但是# chkconfig �Clist却还是没有发现apache服务

2.修改脚本使其支持chkconfig
编辑/etc/init.d/httpd脚本,在第2行添加如***释信息:

# chkconfig: 35 61 61                        #也可以设置85 15
# description: Apache

保存后执行

#chkconfig --add httpd

第一行的3个参数意义分别为:在哪些运行级别启动httpd(3,5);启动序号(S61);关闭序号(K61)。注意:以上两行缺一不可
2-1 chkconfig后面有三个参数35,61和61告诉chkconfig程序,需要在rc2.d~rc5.d目录下创建名字为S61httpd 也就是apache
2-2  /etc/rc.d目录下rc0.d  rc1.d  rc2.d  rc3.d  rc4.d  rc5.d  rc6.d 跟run level中7个运行级别和chkconfig --list显示级别是一样的。
2-3 "K"代表"KILL"是指这个服务在这个级别被停止.若前面有一个"S"表示"Start",表示这个服务在这个运行级别被启动.在K或S的后面有一些数字,两位数的大  小范围是自00到99,这是服务的序号,当启动服务时,按序号从小到大启动,当停止服务时,按序号从大到小停止.
执行chkconfig --add httpd后就在rc3.d、rc5.d路径中将来就会出现S61httpd的链接,其他运行级别路径中会出现K61httpd的链接

2-4. S和K后面的数字:S一般选择60以后的数字,60以前的数字基本是系统基本服务启动序号,K后面的数字自定义

查看apache服务状态

1.切换到apache的安装目录,假设你的apahce安装目录为/usr/local/apache2
2.执行相应的操作

    apahce启动命令:/usr/local/apache2/bin/apachectl start
    apahce停止命令:/usr/local/apache2/bin/apachectl stop
    apahce重启命令:/usr/local/apache2/bin/apachectl restart

重启 Apache 服务器时不中断当前的连接

:/usr/local/sbin/apachectl graceful

apache服务的查看:netstat -nltup |grep httpd 查看本机上是否启动成功apache

另一种开机自动启动Apache服务:

1.切换到sbin目录 命令:cd /sbin

2.运行chkconfig命令,参数:./chkconfig --level 5 httpd on

3.运行./chkconfig --list检查一下httpd开机是否自动启动,如果5:启动,表示开机自动启动


参考资料:http://blog.csdn.net/kobe_lzq/article/details/7976787





你可能感兴趣的:(linux,系统,启动服务)