`

CentOS配置服务开机启动的方法

 
阅读更多

CentOS设置服务开机启动的三种方法

利用chkconfig命令来配置启动级别

在CentOS或者RedHat其他系统下,如果是后面安装的服务,如httpd、mysqld、postfix等,安装后系统默认不会自动启动的。就算 手动执行 /etc/init.d/mysqld start 启动了服务,只要服务器重启后,系统仍然不会自动启动服务。 在这个时候,我们就需要在安装后做个设置,让系统自动启动这些服务,避免不必要的损失和麻烦。 其实命令很简单的,使用chkconfig即可。

查询chkconfig当前所有服务

查询当前所有服务的自动启动配置可以使用chkconfig --list,如果要查询某一个指定的服务,可以跟上服务名即可,比如要查询sshd服务。

[root@localhost ~]# chkconfig --list
NetworkManager 	0:off	1:off	2:on	3:on	4:on	5:on	6:off
abrt-ccpp      	0:off	1:off	2:off	3:on	4:off	5:on	6:off
abrt-oops      	0:off	1:off	2:off	3:on	4:off	5:on	6:off
abrtd          	0:off	1:off	2:off	3:on	4:off	5:on	6:off
acpid          	0:off	1:off	2:on	3:on	4:on	5:on	6:off
atd            	0:off	1:off	2:off	3:on	4:on	5:on	6:off
auditd         	0:off	1:off	2:on	3:on	4:on	5:on	6:off
autofs         	0:off	1:off	2:off	3:on	4:on	5:on	6:off
avahi-daemon   	0:off	1:off	2:off	3:on	4:on	5:on	6:off
bluetooth      	0:off	1:off	2:off	3:on	4:on	5:on	6:off
certmonger     	0:off	1:off	2:off	3:on	4:on	5:on	6:off
cpuspeed       	0:off	1:on	2:on	3:on	4:on	5:on	6:off
crond          	0:off	1:off	2:on	3:on	4:on	5:on	6:off
cups           	0:off	1:off	2:on	3:on	4:on	5:on	6:off
dnsmasq        	0:off	1:off	2:off	3:off	4:off	5:off	6:off
fcoe           	0:off	1:off	2:on	3:on	4:on	5:on	6:off
firstboot      	0:off	1:off	2:off	3:off	4:off	5:off	6:off
haldaemon      	0:off	1:off	2:off	3:on	4:on	5:on	6:off
httpd          	0:off	1:off	2:off	3:off	4:off	5:off	6:off
ip6tables      	0:off	1:off	2:on	3:on	4:on	5:on	6:off
ipsec          	0:off	1:off	2:off	3:off	4:off	5:off	6:off
iptables       	0:off	1:off	2:on	3:on	4:on	5:on	6:off
irqbalance     	0:off	1:off	2:off	3:on	4:on	5:on	6:off
iscsi          	0:off	1:off	2:off	3:on	4:on	5:on	6:off
iscsid         	0:off	1:off	2:off	3:on	4:on	5:on	6:off
kdump          	0:off	1:off	2:off	3:off	4:off	5:off	6:off
livesys        	0:off	1:off	2:off	3:on	4:on	5:on	6:off
livesys-late   	0:off	1:off	2:off	3:on	4:on	5:on	6:off
lldpad         	0:off	1:off	2:on	3:on	4:on	5:on	6:off
lvm2-monitor   	0:off	1:on	2:on	3:on	4:on	5:on	6:off
mdmonitor      	0:off	1:off	2:on	3:on	4:on	5:on	6:off
messagebus     	0:off	1:off	2:on	3:on	4:on	5:on	6:off
multipathd     	0:off	1:off	2:off	3:off	4:off	5:off	6:off
mysqld         	0:off	1:off	2:off	3:off	4:off	5:off	6:off
netconsole     	0:off	1:off	2:off	3:off	4:off	5:off	6:off
netfs          	0:off	1:off	2:off	3:on	4:on	5:on	6:off
network        	0:off	1:off	2:off	3:off	4:off	5:off	6:off
nfs            	0:off	1:off	2:off	3:off	4:off	5:off	6:off
nfslock        	0:off	1:off	2:off	3:on	4:on	5:on	6:off
nscd           	0:off	1:off	2:off	3:off	4:off	5:off	6:off
nslcd          	0:off	1:off	2:off	3:off	4:off	5:off	6:off
ntpd           	0:off	1:off	2:off	3:off	4:off	5:off	6:off
ntpdate        	0:off	1:off	2:off	3:off	4:off	5:off	6:off
oddjobd        	0:off	1:off	2:off	3:off	4:off	5:off	6:off
openct         	0:off	1:off	2:on	3:on	4:on	5:on	6:off
pcscd          	0:off	1:off	2:off	3:on	4:on	5:on	6:off
portreserve    	0:off	1:off	2:on	3:on	4:on	5:on	6:off
postfix        	0:off	1:off	2:on	3:on	4:on	5:on	6:off
psacct         	0:off	1:off	2:off	3:off	4:off	5:off	6:off
quota_nld      	0:off	1:off	2:off	3:off	4:off	5:off	6:off
rdisc          	0:off	1:off	2:off	3:off	4:off	5:off	6:off
restorecond    	0:off	1:off	2:off	3:off	4:off	5:off	6:off
rngd           	0:off	1:off	2:off	3:off	4:off	5:off	6:off
rpcbind        	0:off	1:off	2:on	3:on	4:on	5:on	6:off
rpcgssd        	0:off	1:off	2:off	3:on	4:on	5:on	6:off
rpcidmapd      	0:off	1:off	2:off	3:on	4:on	5:on	6:off
rpcsvcgssd     	0:off	1:off	2:off	3:off	4:off	5:off	6:off
rsyslog        	0:off	1:off	2:on	3:on	4:on	5:on	6:off
saslauthd      	0:off	1:off	2:off	3:off	4:off	5:off	6:off
smartd         	0:off	1:off	2:off	3:off	4:off	5:off	6:off
snmpd          	0:off	1:off	2:off	3:off	4:off	5:off	6:off
snmptrapd      	0:off	1:off	2:off	3:off	4:off	5:off	6:off
spice-vdagentd 	0:off	1:off	2:off	3:off	4:off	5:on	6:off
sshd           	0:off	1:off	2:off	3:off	4:off	5:off	6:off
sssd           	0:off	1:off	2:off	3:off	4:off	5:off	6:off
svnserve       	0:off	1:off	2:off	3:off	4:off	5:off	6:off
sysstat        	0:off	1:on	2:on	3:on	4:on	5:on	6:off
udev-post      	0:off	1:on	2:on	3:on	4:on	5:on	6:off
vboxadd        	0:off	1:off	2:on	3:on	4:on	5:on	6:off
vboxadd-service	0:off	1:off	2:on	3:on	4:on	5:on	6:off
vboxadd-x11    	0:off	1:off	2:off	3:on	4:off	5:on	6:off
vncserver      	0:off	1:off	2:off	3:off	4:off	5:off	6:off
wdaemon        	0:off	1:off	2:off	3:off	4:off	5:off	6:off
wpa_supplicant 	0:off	1:off	2:off	3:off	4:off	5:off	6:off
ypbind         	0:off	1:off	2:off	3:off	4:off	5:off	6:off
[root@localhost ~]# 
[root@localhost ~]# chkconfig --list sshd
sshd           	0:off	1:off	2:off	3:off	4:off	5:off	6:off
[root@localhost ~]# 

添加服务到chkconfig列表

如果这个服务尚未被添加到 chkconfig 列表中,则现需要使用 –-add 参数将其添加进去:

chkconfig --add sshd

设置或取消服务的自动启动

如果需要设置服务的自动启动,可以通过chkconfig的on命令设置,比如设置sshd服务为自动启动:

[root@localhost ~]# chkconfig sshd on
[root@localhost ~]# chkconfig --list sshd
sshd           	0:off	1:off	2:on	3:on	4:on	5:on	6:off
[root@localhost ~]# 

这个时候2~5都是on,就表明会自动启动了。如果需要取消服务的自动启动,可以通过chkconfig的off命令取消,比如取消sshd服务的自动启动:

[root@localhost ~]# chkconfig sshd off
[root@localhost ~]# chkconfig --list sshd
sshd           	0:off	1:off	2:off	3:off	4:off	5:off	6:off
[root@localhost ~]# 

修改 /etc/rc.d/rc.local 这个文件:

例如将 apache、mysql、samba、svn 等这些服务的开机自启动问题一起搞定:

vim /etc/rc.d/rc.local
#添加以下命令
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
/usr/sbin/apachectl start
/etc/rc.d/init.d/mysqld start
/etc/rc.d/init.d/smb start
/usr/local/subversion/bin/svnserve -d

在CentOS 7上可以使用systemctl命令来使服务默认启动

这里以docker.service为例,当前设置如下所示:

[root@localhost ~]# systemctl status docker.service 
docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled)
   Active: inactive (dead)
     Docs: https://docs.docker.com

[root@localhost ~]# systemctl list-unit-files | grep docker
docker.service                              disabled
docker.socket                               disabled
[root@localhost ~]# 

然后使用systemctl命令来使能docker服务:

[root@localhost ~]# systemctl enable docker.service 
ln -s '/usr/lib/systemd/system/docker.service' '/etc/systemd/system/multi-user.target.wants/docker.service'
[root@localhost ~]# systemctl list-unit-files | grep docker
docker.service                              enabled 
docker.socket                               disabled
[root@localhost ~]# 

然后重启服务器就可以看到docker服务启动起来了:

[root@localhost ~]# systemctl list-unit-files | grep docker
docker.service                                            enabled 
docker.socket                                             disabled
[root@localhost ~]# systemctl status docker.service 
docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled)
   Active: active (running) since Fri 2015-12-11 10:18:35 CST; 32s ago
     Docs: https://docs.docker.com
 Main PID: 1218 (docker)
   CGroup: /system.slice/docker.service
           └─1218 /usr/bin/docker daemon -H fd://

Dec 11 10:18:09 localhost.localdomain docker[1218]: time="2015-12-11T10:18:09.045564389+08:00" level=warning msg="Usage of loopback devices is strongly discouraged for productio...v section."
Dec 11 10:18:10 localhost.localdomain docker[1218]: time="2015-12-11T10:18:10.741368042+08:00" level=info msg="[graphdriver] using prior storage driver \"devicemapper\""
Dec 11 10:18:12 localhost.localdomain docker[1218]: time="2015-12-11T10:18:12.309207143+08:00" level=info msg="Firewalld running: true"
Dec 11 10:18:30 localhost.localdomain docker[1218]: time="2015-12-11T10:18:30.584205823+08:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0...IP address"
Dec 11 10:18:35 localhost.localdomain docker[1218]: time="2015-12-11T10:18:35.662157286+08:00" level=info msg="Loading containers: start."
Dec 11 10:18:35 localhost.localdomain docker[1218]: ..
Dec 11 10:18:35 localhost.localdomain docker[1218]: time="2015-12-11T10:18:35.780999775+08:00" level=info msg="Loading containers: done."
Dec 11 10:18:35 localhost.localdomain docker[1218]: time="2015-12-11T10:18:35.781038888+08:00" level=info msg="Daemon has completed initialization"
Dec 11 10:18:35 localhost.localdomain docker[1218]: time="2015-12-11T10:18:35.781068669+08:00" level=info msg="Docker daemon" commit=a34a1d5 execdriver=native-0.2 graphdriver=de...rsion=1.9.1
Dec 11 10:18:35 localhost.localdomain systemd[1]: Started Docker Application Container Engine.
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]# 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics