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

源码编译安装Apache开机自启动

2017-08-05 15:55 681 查看
当用源码安装完Apache之后无法利用命令设置开机自启动,不过可以把启动命令写在/etc/rc.d/rc.local文件里,下面简单说下怎么设置命令自启动(centos6):

原理

Linux系统系统服务启动脚本放在/etc/rc.d/init.d/目录下,不同的开机模式对应/etc/rc.d/rc0~6.d/不同的目录,这些目录对应不同运行级别init.d目录下脚本启停顺序,这几个目录的命令形式为K(S)+number+serviceName,这些文件链接到service对应脚本存在目录,要想使用service命令启停服务,就要把我们自己的脚本放到/etc/init.d/目录下,而且在脚本第二行加运行级别、描述两行注释。

运行级别:

0 - 关机

1 - 单用户模式

2 - 多用户无网络模式(很少使用)

3 - 完整的多用户终端模式(无图形界面)

4 - 保留

5 - 多用户带GUI模式

6 - 重启

[root@centos6 init]# vi /etc/inittab
id:5:initdefault:
#不要把默认启动级别设置成0或6


操作

如果想将httpd列入系统自动启动的服务,可以直接将上述的apachectl文件拷贝到 /etc/rc.d/init.d 目录中。

cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
在脚本第二行加上如下注释
# chkconfig: 2345 61 39  #在脚本第二行开始添加
# description: Apache #centos6以后版本可加可不加,最好加上


[root@centos6 rc0.d]# chkconfig --add httpd
[root@centos6 rc0.d]# chkconfig httpd on #默认开启2345运行级别,当然可以通过选项--level num指定运行级别
[root@centos6 rc0.d]# chkconfig --list httpd
httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off


注:当执行完chkconfig –add httpd命令后会自动在启动级别2345加上S61httpd,016级别加上K39httpd软连接,这些软连接存放在/etc/rcN.d(N为启动级别)目录下。启动的顺序并不是按照数字大小执行的而是按照ascii码表排序的顺序(数字、大写字母、小写字母)执行,数字只是为了好识别启动顺序,自己创建文件要注意。

运行级文件

每个被chkconfig 管理的服务需要在对应的init.d 下的脚本加上两行或者更多行的注释。

第一行告诉 chkconfig 缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 - 代替运行级。

第二行对服务进行描述,可以用 跨行注释

# chkconfig: 2345 61 39
# description: Apache
表明这个脚本应该在运行级 2, 3, 4, 5 启动,启动顺序为61,停止顺序为39。先启动的服务比较重要,停止顺序要靠后


当服务启动脚本(开机自启)有问题是会导致系统启动不起来,可以查看系统启动界面,看在哪个服务启动后无法启动,然后进入单用户模式下,找到那个服务禁止自启动,等机器启动后再排查错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: