系统相关
首页 > 系统相关> > 将Apache加入到linux系统service

将Apache加入到linux系统service

作者:互联网

将Apache加入到linux系统service - 乌合之众 - 博客园  https://www.cnblogs.com/oloroso/p/4595142.html

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

1.生成Apache服务控制脚本#

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

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

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

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

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

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

Copy Highlighter-hljs
  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修改权限,然后写入

Copy Highlighter-hljs
  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文件#

Copy Highlighter-hljs
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

Copy Highlighter-hljs
  # description: Saves and restores system entropy pool for \
  # higher quality random number generation.

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

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

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

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

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

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

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

Copy Highlighter-hljs
  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运行界面

Copy Highlighter-hljs
  ┌ 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命令来查看当前系统的运行等级

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

3.2检查是否成功#

标签:service,etc,work,pc,apache,init,hljs,linux,Apache
来源: https://www.cnblogs.com/jmbt/p/16652921.html