前言:
在日常使用linux系统过程中,安装服务后系统不会自动启动服务的。就算手动启动了服务,只是当前生效,一旦服务器重启后,系统不会自动启动这些服务。如果每次重启服务器都要自己手动启动这些服务,一台还阔以接受,如果是一个集群等等,那么难免会有点淡淡的忧伤。所以,我们接下来就来设置一下开机启动服务。
1、 利用systemctl命令添加启动项
以centos7中的docker服务为例
注意:
centos7自启项已不再使用chkconfig查看,而是systemctl
1.1、查看开机自启项列表
systemctl list-unit-files
左—>右依次是:
服务名称、状态。
enabled:开机启动
disabled:开机不启动
???还是比较多的,咱们过滤一下
只查看启动项
systemctl list-unit-files | grep enabled
发现一个咱们常用的firewalld.service
???1.2、设置docker服务开机启动
systemctl enable docker
???从服务列表中查看
systemctl list-unit-files | grep docker
发现如下已经enable
???启动服务
systemctl start docker.service
???1.3、测试服务是否自启,重启OS
init 6
???1.4、查看服务状态
systemctl status docker
???1.5、补充
移除开机启动服务
systemctl disable docker
以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
???在浏览器中访问以下
???测试成功。
为了规范一点,下一篇centos7利用systemctl添加自定义系统服务。
欢迎大家给予宝贵的意见或者建议。
欢迎大家补充或者共享一些其他的方法。