chkconfig命令
chkconfig
功能说明:检查,设置系统的各类服务。
语 法:chkconfig
[--add][--del][--list][系统服务]或chkconfig[--level<等级代号>][系统服务][on/off/reset]
补充说明:这是RedHat公司遵循GPL规则所开发的程序,它可查询操做系统在每个执行等级中会执行哪些系统服务,其中包括各种常驻服务。
参 数:
--add 增长所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增长相关数据。
--del 删除所指定的系统服务,再也不由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。
--level<等级代号> 指定读系统服务要在哪个执行等级中开启或关毕
1:chkconfig 命令也能够用来激活和解除服务。chkconfig --list 命令显示系统服务列表,以及这些服务在运行级别0到6中已被启动(on)仍是中止(off)。
chkconfig --list
chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
2:chkconfig 还能用来设置某一服务在某一指定的运行级别内被启动仍是被停运。譬如,要在运行级别三、四、5中停运 nscd 服务,使用下面的命令:
chkconfig --level 345 nscd off
3:由 xinetd 管理的服务会当即被 chkconfig 影响。譬如,若是 xinetd 在运行,finger 被禁用,那么执行了 chkconfig finger on 命令后,finger 就没必要手工地从新启动 xinetd 来当即被启用。对其它服务的改变在使用 chkconfig 以后不会当即生效。必须使用service servicename start/stop/restart命令来重起服务
]Linux中如何自动启动服务 linux自动启动服务很简单,最简单的是把启动命令放到/etc/rc.d/rc.local文件里。这样就能够每次启动的时候自动启动服务了。例如对于 apache,编译好apache后会在安装目录的bin下生成apachectl文件,这是个启动脚本,咱们只须要把这个命令加到rc.local里就能够了: echo /usr/local/apache/bin/apachectl >> /etc/rc.d/rc.local 此外咱们还可使用chkconfig命令来把某项服务加到系统的各项运行级别中,步骤以下: 1 建立启动脚本,对于apache、mysql、ssh这样的软件都是本身带的,咱们只要稍微修改一下使之支持chkconfig就能够了 2 修改脚本 咱们须要在脚本的前面加上2行,才能支持chkconfig命令 # chkconfig: 2345 08 92 # description: Automates a packet filtering firewall with ipchains. chkconfig:后面定义的使启动服务的运行级别(例子中使2345启动该服务),以及关闭和启动服务的顺序(上例中启动服务的顺序是8,关闭的顺序是92)。 descriptions:对该服务的描述(上例中是ipchains包过滤),你能够换成本身想要的 修改好以后执行 cp 你的脚本 /etc/rc.d/init.d/脚本名 chmod 700 /etc/rc.d/init.d/脚本名 chkconfig --add 脚本名 之后每次从新启动服务器都会自动启动和关闭咱们的服务了 并且你执行setup以后也能够看到咱们添加的服务,选中咱们添加的服务按F1键还能够看到咱们定制的信息。 附chkconfig命令: chkconfig命令主要用来更新(启动或中止)和查询系统服务的运行级信息。谨记chkconfig不是当即自动禁止或激活一个服务,它只是简单的改变了符号链接。 语法: chkconfig --list [name] chkconfig --add name chkconfig --del name chkconfig [--level levels] name <on|off|reset> chkconfig [--level levels] name chkconfig 没有参数运行时,显示用法。若是加上服务名,那么就检查这个服务是否在当前运行级启动。若是是,返回true,不然返回false。若是在服务名后面指定 了on,off或者reset,那么chkconfi 会改变指定服务的启动信息。on和off分别指服务被启动和中止,reset指重置服务的启动信息,不管有问题的初始化脚本指定了什么。on和off开 关,系统默认只对运行级3,4,5有效,可是reset能够对全部运行级有效。 --level选项能够指定要查看的运行级而不必定是当前运行级。 须要说明的是,对于每一个运行级,只能有一个启动脚本或者中止脚本。当切换运行级时,init不会从新启动已经启动的服务,也不会再次去中止已经中止的服务。 chkconfig --list :显示全部运行级系统服务的运行状态信息(on或off)。若是指定了name,那么只显示指定的服务在不一样运行级的状态。 chkconfig --add name:增长一项新的服务。chkconfig确保每一个运行级有一项启动(S)或者杀死(K)入口。若有缺乏,则会从缺省的init脚本自动创建。 chkconfig --del name:删除服务,并把相关符号链接从/etc/rc[0-6].d删除。 chkconfig [--level levels] name <on|off|reset>:设置某一服务在指定的运行级是被启动,中止仍是重置。例如,要在3,4,5运行级中止nfs服务,则命令以下: chkconfig --level 345 nfs off 运行级文件: 每一个被chkconfig管理的服务须要在对应的init.d下的脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和中止的优先级。若是某服务缺省不在任何运行级启动,那么使用 - 代替运行级。第二行对服务进行描述,能够用\ 跨行注释。 例如,random.init包含三行: # chkconfig: 2345 20 80 # description: Saves and restores system entropy pool for \ # higher quality random number generation. 此例子代表random服务的缺省启动运行级在二、三、四、5级,启动的优先级(顺序号)是20,中止的优先级(顺序号)是80。 附加介绍一下Linux系统的运行级的概念: Linux中有多种运行级,常见的就是多用户的2,3,4,5 ,不少人知道5是运行X-Windows的级别,而0就是关机了。运行级的改变能够经过init命令来切换。例如,假设你要维护系统进入单用户状态,那么,可使用init1来切换。在Linux的运行级的切换过程当中,系统会自动寻找对应运行级的目录/etc/rc[0-6].d下的K和S开头的文件, 按后面的数字顺序,执行这些脚本。对这些脚本的维护,是很繁琐的一件事情,Linux提供了chkconfig命令用来更新和查询不一样运行级上的系统服务
通常的Linux系统,服务通常配置在/etc/init.d或者/etc/rc.d/init.d文件夹下,国产RedFlag Linux干脆两个目录下都有对应的服务,只是/etc/init.d下面的配置成系统默认的。
PS:RedFlag Linux还兼容Dos命令,看来是竭尽全力的纵容了用户的习惯。
下面是我在RedFlag Linux的两个服务目录下看到的(保留部分有表明性的):
$ ls /etc/init.d | $ ls /etc/rc.d/init.d | 说明 |
dhcpd | dhcpd | DHCP服务 |
httpd | httpd | WEB服务 |
ldap | ldap | 轻量级目录服务 |
mysqld | mysqld | Mysql数据库服务 |
proftpd | proftpd | FTP服务 |
sendmail | sendmail | 邮件服务 |
smb | smb | 网络文件服务 |
sshd | sshd | SSH服务 |
每一个服务的启动:/etc/init.d/{服务名} start或者/etc/rc.d/init.d/{服务名} start 每一个服务的中止:/etc/init.d/{服务名} stop或者/etc/rc.d/init.d/{服务名} stop 每一个服务的重启:/etc/init.d/{服务名} restart或者/etc/rc.d/init.d/{服务名} restart
好比对samba服务进行操做(对应服务名smb):
linux开机启动服务的修改与查看 首先了解linux的运行级别有哪些? 6个运行级别 # 0 - 停机(千万不要把initdefault设置为0 ) # 1 - 单用户模式 # 2 - 多用户,可是没有NFS # 3 - 彻底多用户模式 # 4 - 没有用到 # 5 - X11 # 6 - 从新启动(千万不要把initdefault设置为6 ) # 对各个运行级的详细解释: 0 为停机,机器关闭。 1 为单用户模式,就像Win9x下的安全模式相似。 2 为多用户模式,可是没有NFS支持。 3 为完整的多用户模式,是标准的运行级。 4 通常不用,在一些特殊状况下能够用它来作一些事情。例如在笔记本电脑的电池用尽时,能够切换到这个模式来作一些设置。 5 就是X11,进到X Window系统了。 6 为重启,运行init 6机器就会重启。 修改级别 vi /etc/inittab 把id:3:initdefault:中的3改成相应的级别 每次系统开机的时候,都会根据不一样的runlevel级别启动不一样的服务。 开机按[CTRL]+[ALT]+[F7]/[F8]可查看系统启动时正在启动的服务!!!! 众所周知Linux给咱们提供了7中不一样的启动级别0~6,那么不一样的启动级别都会启动那些服务哪。可使用chkconfig ——list 查看,可使用chkconfig 服务名 ——level 3 {on|of}修改是否要再某个级别启动或中止。 1. 例如:要把sshd服务在第3种启动级别中中止。 [root@team4 rc3.d]# chkconfig sshd --level 3 off 中国网管联盟www.bitscn.com 2. 还能够手工修改,在/etc/rc.d/这个目录里有不少不一样runlevel对应的目录,里面代表进入某个启动级别时要启动和中止那些服务。 例如: 中国网管联盟www、bitsCN、com [root@team4 etc]# ls /etc/rc.d init.d rc0.d rc2.d rc4.d rc6.d rc.sysinit rc rc1.d rc3.d rc5.d rc.local 咱们用rc3.d这个目录为例,这个目录里面记录的是进入init 3时须要中止和启动那些服务。 下面为rc3.d目录的内容: [root@team4 etc]# ls /etc/rc.d/rc3.d/ K02avahi-dnsconfd K89pand S25bluetooth K02dhcdbd K89rdisc S25netfs K02NetworkManager K91capi S25pcscd K02NetworkManagerDispatcher K99readahead_later S26apmd K05conman S04readahead_early S26hidd K开头表明这个启动级别须要中止的服务,编号是中止的时候执行的顺序,再后面就是服务明了。 S开头则是要启动那些服务。 网管网bitsCN_com 注意:先执行K开头的,后执行S开头的。因此S开头的服务会覆盖K开头的服务。 Linux设置程序的开机自启动与Linux服务 这里只说我所知道的,举例以下 需求是我要用Windows下的VNC Viewer链接到Linux Server. 我在Linux下面输入 #vncserver 设置好密码,好如今我就能够在Windows下面使用VNC链接到Linux桌面了,这个时候若是个人Linux Server系统重启了,那么我还得再敲一次vncserver这个命令,因此我如今要让Linux Server在开机时自动启动vncserver 有哪些方法呢? 1. 我能够把vncserver设置成系统的服务,并启动起来,使用以下命令查看vncserver是否已是系统的服务 #chkconfig --list|grep vnc vncserver 0:off 1:off 2:off 3:off 4:off 5:off 6:off 如今咱们要设置vncserver开机自启动,使用以下命令 #chkconfig --level 5 vncserver on#chkconfig --list|grep vnc vncserver 0:off 1:off 2:off 3:off 4:off 5:on 6:off 这个时候重启系统,那么vncserver就会以服务的方式自动起来,可是如今若是想当即使用vnc则直接敲命令 vncserver便可 2. 咱们能够把vncserver这条命令写在Linux开机要运行的脚本里面,那些脚本是Linux开机时要执行的呢? 我知道的有如下这些: /etc/rc.local /etc/rc.sysinit /etc/inittab /etc/profile 这里记住Linux服务于Linux开机自启动之间的区别和联系。
RedHat Linux下注册Apache为系统服务并设为开机启动
1、系统环境:
操做系统:Red Hat Enterprise Linux Server release 5.4
Apache版本:httpd-2.2.19
2、注册服务
#将apachectl复制到init.d目录下
[root@bogon ~]# cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/httpd
#修改httpd
[root@bogon ~]# vi /etc/init.d/httpd
#找到#!/bin/sh,另起一行增长如下内容,并保存(:wq!)退出。
#chkconfig:345 85 15
#description:Start and stop the Apache HTTP Server
【说明】:在注册过程当中增长#chkconfig:35 70 30,再经过chkconfig --add httpd注册服务时,报以下错误service httpd does not support chkconfig,修改成chkconfig: 2345 10 90便可正常注册。
#注册服务
[root@bogon init.d]# chkconfig --add httpd
[root@bogon init.d]# chkconfig httpd on
3、经过服务方式启动、中止Apache
#启动、重启、中止服务
启动服务:service httpd start
中止服务:service httpd stop
从新启动:service httpd restart
四、设为开机启动
在/etc/rc.d/rc.local中增长启动apache的命令,例如:/usr/local/apache2/bin/apachectl start
源码安装apache及配置转发 1、 安装Apache a) 解压:tar -xvf httpd-*; b) ./configure --prefix=/usr/oracle/apache CC="gcc -m32" \--enable-proxy=shared --enable-proxy-http=shared --enable-proxy-ftp=shared --enable-proxy-connect=shared --enable-so --enable-modules=all --enable-mods-shared=all c) make d) make install 基本的操做方法: 本文假设你的apahce安装目录为/usr/local/apache2,这些方法适合任何状况 apahce启动命令: 推荐/usr/local/apache2/bin/apachectl start apaceh启动 apache中止命令 /usr/local/apache2/bin/apachectl stop 中止 apache从新启动命令: /usr/local/apache2/bin/apachectl restart 重启 要在重启 Apache 服务器时不中断当前的链接,则应运行: /usr/local/sbin/apachectl graceful 若是apache安装成为linux的服务的话,能够用如下命令操做: service httpd start 启动 service httpd restart 从新启动 service httpd stop 中止服务 配置转发功能 打开apache安装目录的conf文件夹下的httpd.conf 一、将如下两行前的注释字符 # 去掉: #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_http_module modules/mod_proxy_http.so 二、在httpd.conf 文件的最后加上转发规则 例如: ProxyPass /cas http://192.168.0.206:9090/cas ProxyPassReverse /cas http://192.168.0.206:9090/cas 将/cas开头的请求转发到206服务器9090端口的cas上 依次类推,其余的转发也是经过这种方式设置,如: ProxyPass /cas http://192.168.0.206:9090/cas ProxyPassReverse /cas http://192.168.0.206:9090/cas #bbs不转发,采用apache处理 ProxyPass /bbs ! ProxyPassReverse /bbs !