chkconfig命令主要用来更新(启动或中止)和查询系统服务的运行级信息。谨记chkconfig不是当即自动禁止或激活一个服务,它只是简单的改变了符号链接。html
使用语法:
chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]mysql
chkconfig在没有参数运行时,显示用法。若是加上服务名,那么就检查这个服务是否在当前运行级启动。若是是,返回true,不然返回false。若是在服务名后面指定了on,off或者reset,那么chkconfi 会改变指定服务的启动信息。on和off分别指服务被启动和中止,reset指重置服务的启动信息,不管有问题的初始化脚本指定了什么。on和off开关,系统默认只对运行级3,4,5有效,可是reset能够对全部运行级有效。linux
参数用法:
--add 增长所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增长相关数据。
--del 删除所指定的系统服务,再也不由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。
--level<等级代号> 指定读系统服务要在哪个执行等级中开启或关毕。
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络链接的多用户命令行模式
等级3表示:有网络链接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:从新启动
须要说明的是,level选项能够指定要查看的运行级而不必定是当前运行级。对于每一个运行级,只能有一个启动脚本或者中止脚本。当切换运行级时,init不会从新启动已经启动的服务,也不会再次去中止已经中止的服务。sql
chkconfig --list [name]:显示全部运行级系统服务的运行状态信息(on或off)。若是指定了name,那么只显示指定的服务在不一样运行级的状态。
chkconfig --add name:增长一项新的服务。chkconfig确保每一个运行级有一项启动(S)或者杀死(K)入口。若有缺乏,则会从缺省的init脚本自动创建。
chkconfig --del name:删除服务,并把相关符号链接从/etc/rc[0-6].d删除。
chkconfig [--level levels] name:设置某一服务在指定的运行级是被启动,中止仍是重置。shell
运行级文件:
每一个被chkconfig管理的服务须要在对应的init.d下的脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和中止的优先级。若是某服务缺省不在任何运行级启动,那么使用 - 代替运行级。第二行对服务进行描述,能够用\ 跨行注释。
例如,random.init包含三行:
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for \
# higher quality random number generation.数据库
使用范例:
chkconfig --list #列出全部的系统服务
chkconfig --add httpd #增长httpd服务
chkconfig --del httpd #删除httpd服务
chkconfig --level httpd 2345 on #设置httpd在运行级别为二、三、四、5的状况下都是on(开启)的状态
chkconfig --list #列出系统全部的服务启动状况
chkconfig --list mysqld #列出mysqld服务设置状况
chkconfig --level 35 mysqld on #设定mysqld在等级3和5为开机运行服务,--level 35表示操做只在等级3和5执行,on表示启动,off表示关闭
chkconfig mysqld on #设定mysqld在各等级为on,“各等级”包括二、三、四、5等级apache
如何增长一个服务:
1.服务脚本必须存放在/etc/ini.d/目录下;
2.chkconfig --add servicename
在chkconfig工具服务列表中增长此服务,此时服务会被在/etc/rc.d/rcN.d中赋予K/S入口了;
3.chkconfig --level 35 mysqld on
修改服务的默认启动等级。api
1. chkconfig是redhat中的服务配置工具服务器
2. 要使不在chkconfig目录中的服务支持该命令,须要改该服务脚本的工具
例如:/etc/init.d/sshd
1.注释中必须有这两行 (chkconfig会查看全部注释行)
# chkconfig: 2345 55 25 # description: SSH is a protocol for secure remote shell access. 描述文件
1.chkconfig参数1:表示在运行级别2345中默认代开 使用-表示默认关闭
2.chkconfig参数2:S55
3.chkconfig参数3:K45
2. 要在服务脚本中实现POSIX规范中的函数:start() stop()等
3.这时可使用 service xxxx(脚本名) start/stop等命令马上启动或关闭
3.要使该脚本每次启动都生效
1.chkconfig --add xxxx注册服务名
1.chkconfig会根据该脚本的信息,自动到相应运行级rcX.d中建立连接
2.chkconfig xxxx off 配置系统启动时该脚本默认关闭
3.chkconfig xxxx on 配置系统启动时该脚本默认启动
4.chkconfig中的特殊服务xinetd ,xinetd服务下挂载一系列服务 ,脚本放在/etc/xinetd.d/
1.要启动xinetd挂在的服务
1.chkconfig xinetd on
2.chkconfig xxx on
3.service xxx start
1.chkconfig是一个改变开机启动项的命令,修改/etc/rc[0-6].d文件夹下的内容
2.chkconfig命令有5种不一样的做用:增长新的服务、删除服务、打印当前开启启动服务的信息、修改开启启动服务的信息、检查一个指定服务的状态
3.当chkconfig servicename时,它检查这个服务是否是在当前的runlevel下被开启启动,若是是,返回true,不然false。chkconfig --level= servicename检查服务是否是在指定的runlevel开机启动
4.当chkconfig --list时,或者彻底没有参数即chkconfig时,会列出当前的服务和他们的配置
5.若是on、off、reset、resetpriorities参数之一被指定时(在服务名参数后面),chkconfig命名改变这个服务的开机配置。on/off使服务开机启动/中止。reset标志重置on/off不论在开机启动脚本中是什么样子的,resetpriorities也是,只是有优先级
6.默认,on/off命令支队runlevel为2,3,4,5的有影响,而reset和resetpriorities对全部runlevels都有影响。--level参数能够指定被影响的runlevel
7.对每一个服务,每一个runlevel都有1个start/stop脚本。当change runlevel时,init进程不会重启一个already-start的服务,也不会从新关闭一个already-stop的服务
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
chkconfig 检查和设置系统的各类服务。
语法:chkconfig [--add][--del][--list][系统服务] :增、删、查系统服务(/etc/【rc.d】/init.d/……)
chkconfig [--level <等级代号>] [系统服务][on/off/reset] :开启关闭重置系统服务
--level<等级代号> 指定读系统服务要在哪个执行等级中开启或关闭。
level
abrt-ccpp 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
abrt-oops 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
abrtd 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:启用 6:关闭
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络链接的多用户命令行模式
等级3表示:有网络链接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:从新启动
chkconfig 没有参数运行时,显示用法。若是加上服务名,那么就检查这个服务是否在当前运行级启动。
若是是,返回true,不然返回false。
若是在服务名后面指定了on,off或者reset,那么chkconfi 会改变指定服务的启动信息。
on和off分别指服务被启动和中止,reset指重置服务的启动信息,不管有问题的初始化脚本指定了什么。
on和off开关,系统默认只对运行级3,4,5有效,可是reset能够对全部运行级有效
chkconfig svnserved on
svnserved 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
chkconfig svnserved on
svnserved 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
|
本文假设你的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 中止服务
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命令来重起服务
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
]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):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
源码安装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 !
|