将Apache加入到linux系统service

将Apache加入到linux系统service

将apache加入到linux系统服务,用service命令来控制apache的启动和停止。
本文由乌合之众瞎写http://www.cnblogs.com/oloroso

1.生成Apache服务控制脚本

1.1提取/usr/local/apache2/bin/apachectl脚本有效内容

grep -v "#"表示提取不是以#开头的hang

o@o-pc:~/work$ grep -v "#" /usr/local/apache2/bin/apachectl >apache.txt

1.2在/etc/init.d目录下创建控制脚本

o@o-pc:~/work$ sudo cat apache.txt >/etc/init.d/apache
bash: /etc/init.d/apache: 权限不够

提示权限不够,因为这个目录root账户也没有写权限。
这是我的系统的原因,别的系统不一定默认就是没有写权限的。

o@o-pc:~/work$ stat /etc/init.d/
  文件:"/etc/init.d/"
  大小:4096      	块:8          IO 块:4096   目录
设备:803h/2051d	Inode:2233490     硬链接:2
权限:(0755/drwxr-xr-x)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2015-05-28 12:27:07.617607855 +0800
最近更改:2015-05-28 09:36:16.162085700 +0800
最近改动:2015-05-28 09:36:16.162085700 +0800
创建时间:-

chmod修改权限,然后写入

o@o-pc:~/work$ sudo chmod a+w /etc/init.d
o@o-pc:~/work$ stat /etc/init.d/
  文件:"/etc/init.d/"
  大小:4096      	块:8          IO 块:4096   目录
设备:803h/2051d	Inode:2233490     硬链接:2
权限:(0777/drwxrwxrwx)  Uid:(    0/    root)   Gid:(    0/    root)
最近访问:2015-05-28 12:27:07.617607855 +0800
最近更改:2015-05-28 09:36:16.162085700 +0800
最近改动:2015-05-28 16:38:31.203252031 +0800
创建时间:-
o@o-pc:~/work$ sudo cat apache.txt >/etc/init.d/apache

1.3编辑/etc/init.d/apache文件

o@o-pc:~/work$ sudo vi /etc/init.d/apache 

在文件最前面插入下面的行,指示这个脚本使用的解释器

  #!/bin/sh

下面是不再使用的,这里简单介绍
还可以添加一下内容使其支持chkconfig命令:

  # chkconfig: 2345 85 15
  # description: Apache is a World Wide Web server.

chkconfig 命令主要是用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。
使用语法:

chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]

对应脚本修改
每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 - 代替运行级。第二行对服务进行描述,可以用 跨行注释。
例如,random.init包含三行:

chkconfig: 2345 20 80

# description: Saves and restores system entropy pool for 
# higher quality random number generation.

2.为Apache控制脚本添加执行权限

o@o-pc:~/work$ chmod  +x  /etc/init.d/apache

3.使用sysv-rc-conf工具将Apache服务加入到系统服务

3.1添加Apache服务到系统服务**

chkconfig命令在ubuntu10.04之后就不再提供了,可以手动下载。
这里使用另外两个命令来配置ubuntu的启动服务,sysv-rc-confupdate-rc.d
先安装sysv-rc-conf工具

o@o-pc:~/work$ sudo apt-get install sysv-rc-conf

使用sysv-rc-conf工具
这里要注意权限问题

o@o-pc:~/work$ sysv-rc-conf 
Can't create /var/lib/sysv-rc-conf : 权限不够 at /usr/sbin/sysv-rc-conf line 454.

××sysv-rc-conf**操作简单,简洁的操作界面,你可以使用鼠标点击,也可以使用键盘操作,空格键代表选择,“X”表示开启服务,Ctrl+N下一页,Ctrl+P上一页,Q退出。

我们为其设置运行级别为2/3/5,且不让它开机启动(为什么?我这是在自己的笔记本上弄的,不是在服务器)
还是来一张图片,会比较好看一点
sysv-rc-conf运行界面

┌ SysV Runlevel Config   -: stop service  =/+: start service  h: help  q: quit ┐
│                                                                              │
│ service      1       2       3       4       5       0       6       S       │
│ ---------------------------------------------------------------------------- │
│ acpid       [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]      │
│ anacron     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]      │
│ apache      [ ]     [X]     [X]     [ ]     [X]     [ ]     [ ]     [ ]      │
│ apparmor    [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [X]      │
│ apport      [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]      │
│ avahi-dae$  [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]      │
│ bluetooth   [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]      │
│ brltty      [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [X]      │
│ console-s$  [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]      │
│ cron        [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]      │
│ cups        [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]     [ ]      │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────────────────────────┐
│ Use the arrow keys or mouse to move around.      ^n: next pg     ^p: prev pg │
│                        space: toggle service on / off                        │
└──────────────────────────────────────────────────────────────────────────────┘

解释一下运行级别
运行级别:Linux系统任何时候都运行在一个指定的运行级上,并且不同的运行级程序和服务都不同,所要完成的工作和要达到的目的也不同,系统可以在这些运行级之间进行切换,来完成不同的工作。

运行级别等级 说明
0 系统停机状态
1 单用户模式,只准许root用户对系统进系维护
2~5 多用户模式(其中3为字符界面、5为图形界面)
6 重启启动

在这里需要注意的是,在Debian下(ubuntu其中之一)level2~5是没有任何区别的。
**可以使用runlevel命令来查看当前系统的运行等级

o@o-pc:~/work$ runlevel
N 2

3.2检查是否成功

原文地址:https://www.cnblogs.com/oloroso/p/4595142.html