您的位置:首页 > 运维架构 > Linux

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

2015-12-31 13:35 555 查看
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 –list却还是没有发现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 系统 启动服务