在日常使用linux系统过程中,安装服务后系统不会自动启动服务的。就算手动启动了服务,只是当前生效,一旦服务器重启后,系统不会自动启动这些服务。如果每次重启服务器都要自己手动启动这些服务,一台还可以接受,如果是一个集群等等,那么就会有问题了。所以,我们接下来就来设置一下开机启动服务。
1、 利用systemctl命令添加启动项
注意:centos7自启项已不再使用chkconfig查看,而是systemctl
1.1、查看开机自启项列表
systemctl list-unit-files
左—>右依次是:服务名称、状态。enabled:开机启动 disabled:开机不启动
只查看启动项
systemctl list-unit-files | grep enabled
1.2、设置docker服务开机启动
systemctl enable docker
从服务列表中查看
systemctl list-unit-files | grep docker
发现如下已经enable
1.3、测试服务是否自启,重启OS
init 6
1.4、查看服务状态
systemctl status docker
1.5、补充
移除开机启动服务
systemctl disable docker
2、 修改配置文件[/etc/rc.d/rc.local],添加开机自启脚本
关于/etc/rc.d/rc.local文件:
Centos中的运行模式2、3、5都把/etc/rc.d/rc.local做为初始化脚本中的最后一个,所以用户可以在这个文件中添加一些需要在其他初始化工作之后,登录之前执行的命令。
2.1以Tomcat为例:
注意:这里也可以自己写一个脚本[同理],为了方便直接使用tomcat自带的
获取startup.sh路径
/root/General/Apache-tomcat-8.5.31/bin
2.2、修改配置文件[/etc/rc.d/rc.local]
vim /etc/rc.d/rc.local
添加
/root/General/apache-tomcat-8.5.31/bin/startup.sh
2.3、给rc.local x[执行]的权限
注意:在centos7中,/etc/rc.d/rc.local的权限被降低了
chmod a+x rc.local
2.4、使文件生效
将刚刚修改的文件加载到内存
source /etc/rc.d/rc.local
2.5、查看tomcat进程
ps -ef | grep tomcat
2.6、重启
init 6
添加开机自启:
echo '/opt/dragent/dragent-centos7/start_dragent.sh ' >> /etc/rc.d/rc.local
echo '/opt/dragent/dragent-centos7/keepalive.sh ' >> /etc/rc.d/rc.local
mysql开机自启
#chkconfig -- add mysql
#chkconfig mysql on
#chkconfig --list mysql