一.设置开机自启动
linux有自己一套完整的启动体系,捉住了linux启动的脉络,linux的启动过程将不再神秘。
/etc
|--init.d->rc.d/init.d
|--rc->rc.d/rc
|--rc.d
||--init.d
|||--NetworkManager
|||--network
|||--nfs
|||--xinetd
|||--……
||--rc
||--rc.local
||--rc.sysinit
||--rc3.d
|||--K0202NetworkManager->../init.d/NetworkManager
|||--K2020nfs->../init.d/nfs
|||--S1010network->../init.d/network
|||--S5656xinetd->../init.d/xinetd
|||--……
|--rc.local->rc.d/rc.local
|--rc.news
|--rc.sysinit->rc.d/rc.sysinit
|--rc0.d->rc.d/rc0.d
|--rc1.d->rc.d/rc1.d
|--rc2.d->rc.d/rc2.d
|--rc3.d->rc.d/rc3.d
|--rc4.d->rc.d/rc4.d
|--rc5.d->rc.d/rc5.d
|--rc6.d->rc.d/rc6.d
1.通过chkconfig命令 此种方式适用早已安装了的服务
--add:降低所指定的系统服务linux标准教程,让chkconfig指令得以管理它,并同时在系统启动的表述文件内降低相关数据;
--del:删掉所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的表述文件内删掉相关数据;
--level:指定读系统服务要在哪一个执行等级中开启或关毕。
--list:列举所有的系统服务。
等级代号列表:
eg:
chkconfig--list#列举所有的系统服务。chkconfig--addhttpd#降低httpd服务。chkconfig--delhttpd#删掉httpd服务。chkconfig--levelhttpd2345on#设置httpd在运行级别为2、3、4、5的情况下都是on(开启)的状态。chkconfig--list#列举系统所有的服务启动情况。chkconfig--listmysqld#列举mysqld服务设置情况。chkconfig--level35mysqldon#设定mysqld在等级3和5为开机运行服务,--level35表示操作只在等级3和5执行,on表示启动红旗linux6.0,off表示关掉。chkconfigmysqldon#设定mysqld在各等级为on,“各等级”包括2、3、4、5等级。
2.ntsysv伪图形 此种方式适用早已安装了的服务
yum-yinstallntsysv 若果没有请安装
默认情况下centos 6.4 开机界面,当前运行级别为多少,在ntsysv中设置的启动服务的级别便是多少
例如,我当前的运行级别是3,这么我在伪图形界面中选择启动服务后,它的运行级别也会是3
假如想自定义运行级别可使用ntsysv--level形式
3.自定义服务脚本
将脚本拷贝到/etc/rc.d/init.d/目录下centos 6.4 开机界面,并赋于执行权限。之后在/etc/rc.d/rc*.d中构建软链接即可
[root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh
此处sshd是具体服务的脚本文件,S100100ssh是其软链接,S开头代表加载时自启动
假如须要在多个运行级别下设置自启动,则需构建多个软链接
————————————————————————————————————————-
假如认为建链接琐碎也可以将脚本拷贝到/etc/rc.d/init.d/目录下,并赋于执行权限。之后通过chkconfig或ntsysv来添加
加入开机启动列表中:chkconfig --add sshd 设置为开机启动项: chkconfig sshd on
4.通过更改配置
将服务启动命令加入到/etc/rc.d/rc.local中
#!/bin/sh
#Thisscriptwillbeexecuted*after*alltheotherinitscripts.
#Youcanputyourowninitializationstuffinhereifyoudon't
#wanttodothefullSysVstyleinitstuff.
touch/var/lock/subsys/local
/usr/local/nginx/sbin/nginx
/etc/init.d/keepalivedstart
/usr/local/bin/monit-c/etc/monitrc
/usr/local/bin/monitreload
/usr/local/bin/monitstartall
注意monit服务开机自启动,须要将完整路径写入,否则不起作用
二.启动服务1.绝对路径直接启动(最靠谱的启动方式)
/opt/sbin/redis-server
/usr/local/nginx/sbin/nginx
2.常规启动方式
/etc/init.d/sshdstart|restart|stop
也可以servicesshdstart|restart|stop
3.针对CentOS7
在以上两种的基础上还可以
systemctlstart|restart|stop|statussshd
注:以上内容仅是使用方式的总结,如想详尽了解请查看一下链接。