Centos中配置开机自启动的方式汇总(上)

简介: Centos中配置开机自启动的方式汇总(上)

前言


在服务器上安装的各种中间件,一般都需要配置成开机自启动。但是有些中间件的安装过程中并没有提供相关配置开机自启动的说明文档。

今天总结一下Centos下配置服务开机自启动的3种方式。


一、Centos上配置开机自启动的几种方式


方式一:直接在/etc/rc.d/rc.local中添加服务启动命令

方式二:通过chkconfig配置服务自启动

方式三:Centos7通过systemctl enble配置服务自启动


二、实践演示


1、在/etc/rc.d/rc.local中添加服务启动命令

/etc/rc.d/rc.local脚本会在Centos系统启动时被自动执行,所以可以把需要开机后执行的命令直接放在这里。


示例:配置开机启动apollo


vi /etc/rc.d/rc.local


126.png

想简单点可以像上面这样直接将服务的启动命令添加到/etc/rc.d/rc.local中。


也可以自己编写服务启动的脚本。由于重启时是以root用户重启,需要保证root用户有脚本执行权限。


1)、编写服务启动的脚本

vi /opt/script/autostart.sh

#!/bin/bash
/root/Downloads/docker-quick-start/docker-compose up -d


2)、赋予脚本可执行权限(/opt/script/autostart.sh是你的脚本路径)


chmod +x /opt/script/autostart.sh


3)、打开/etc/rc.d/rc.local文件,在末尾增加如下内容


/opt/script/autostart.sh


3)、在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限


chmod +x /etc/rc.d/rc.local


2、通过chkconfig配置

在CentOS7之前,可以通过chkconfig来配置开机自启动服务。

chkconfig相关命令:

chkconfig –-add xxx //把服务添加到chkconfig列表
chkconfig --del xxx //把服务从chkconfig列表中删除
chkconfig xxx on //开启开机自动启动
chkconfig xxx off //关闭开机自动启动
chkconfig --list //查看所有chklist中服务
chkconfig --list xxx 查看指定服务

chkconfig运行级别level和启动顺序的概念:

chkconfig --list

125.png

这里的0到6其实指的就是服务的level。


–level<等级代号>  指定系统服务要在哪一个执行等级中开启或关毕。

等级0表示:表示关机

等级1表示:单用户模式

等级2表示:无网络连接的多用户命令行模式

等级3表示:有网络连接的多用户命令行模式

等级4表示:不可用

等级5表示:带图形界面的多用户模式

等级6表示:重新启动


比如如下命令:

//设定mysqld在等级3和5为开机运行服务
chkconfig --level 35 mysqld on 
//设置network服务开机自启动,会把2~5的等级都设置为on
chkconfig network on


表示开机启动配置成功。

124.png


服务的启动顺序又指的什么呢?

服务的启动顺序是指在服务器启动后服务启动脚本执行的顺序。

以系统默认服务network说明:


cat /etc/init.d/network


123.png

其中 # chkconfig: 2345 10 90用来指定服务在各个level下的启动顺序。

该配置的含义是network服务在2、3、4、5的level下的启动顺序是10,在1和6的level等级下的启动顺序是90。


chkconfig配置的服务启动顺序最后都会在/etc/rc.d/目录下体现出来:


cd /etc/rc.d/


122.png

文件中脚本命名规则,首字母K表示关闭脚本,首字母S表示启用脚本,数字表示启动的顺序.


chkconfig配置实例

通常kibana的官方配置是没有介绍如何配置开机自启动的。这里我配置kibana开机自启动来说明。


1、在/etc/init.d目录下,新建脚本kibana


cd /etc/init.d
vi kibana


脚本内容如下:

#!/bin/bash
# chkconfig: 2345 98 02
# description:  kibana
KIBANA_HOME=/usr/local/kibana-6.2.4-linux-x86_64
case $1 in
 start)
         $KIBANA_HOME/bin/kibana &
         echo "kibana start"
         ;;
 stop)
    kibana_pid_str=`netstat -tlnp |grep 5601 | awk '{print $7}'`
    kibana_pid=`echo ${kibana_pid_str%%/*}`
    kill -9 $kibana_pid
    echo "kibana stopped"
    ;;
 restart)
    kibana_pid_str=`netstat -tlnp |grep 5601 | awk '{print $7}'`
    kibana_pid=${kibana_pid_str%%/*}
    kibana_pid=`echo ${kibana_pid_str%%/*}`
    kill -9 $kibana_pid
    echo "kibana stopped"
    $KIBANA_HOME/bin/kibana &
    echo "kibana start"
    ;;
 status)
    kibana_pid_str=`netstat -tlnp |grep 5601 | awk '{print $7}'`
    if test -z $kibana_pid_str; then
       echo "kibana is stopped"
    else
       pid=`echo ${kibana_pid_str%%/*}`
       echo "kibana is started,pid:"${pid}
    fi
    ;;
*)
    echo "start|stop|restart|status"
    ;;
esac

注意⚠️:

每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。

第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 - 代替运行级。

第二行对服务进行描述,可以用\ 跨行注释。


#!/bin/bash
#chkconfig:2345 98 02
#description:kibana


解释说明:

配置kibana服务在2、3、4、5的level等级下脚本执行顺序是98,

1、6的level等级下脚本执行顺序是01。


2、增加脚本的可执行权限


chmod +x kibana


3、查看chkconfig list

chkconfig --list


4、把服务添加到chkconfig列表


chkconfig --add kibana

120.png



5、设置kibana服务自启动


chkconfig kibana on //开启开机自动启动


6、查看kibana服务自启动状态


chkconfig --list kibana


如果2~5都是on,就表明会自动启动了

119.png

7、服务的启动、停止、重启和状态查看

//查看服务状态
service kibana status
//服务启动
service kibana start
//服务停止
service kibana stop
//服务重启
service kibana restart


118.png

目录
相关文章
|
4月前
|
Java Linux Docker
centos7 开机自启动自定义脚本
centos7 开机自启动自定义脚本
|
3月前
|
应用服务中间件 Linux 网络安全
centos7 下离线安装gcc g++ nginx,并配置nginx进行网络流转发
centos7 下离线安装gcc g++ nginx,并配置nginx进行网络流转发
103 0
|
6天前
|
网络协议
centos8 网卡 Nmcli(是network的简写 Nmcli)配置网络
centos8 网卡 Nmcli(是network的简写 Nmcli)配置网络
10 0
|
1月前
|
存储 监控 Linux
Flume【部署 02】Flume监控工具Ganglia的安装与配置(CentOS 7.5 在线安装系统监控工具Ganglia + 权限问题处理 + Flume接入监控配置 + 图例说明)
【2月更文挑战第17天】Flume【部署 02】Flume监控工具Ganglia的安装与配置(CentOS 7.5 在线安装系统监控工具Ganglia + 权限问题处理 + Flume接入监控配置 + 图例说明)
26 1
Flume【部署 02】Flume监控工具Ganglia的安装与配置(CentOS 7.5 在线安装系统监控工具Ganglia + 权限问题处理 + Flume接入监控配置 + 图例说明)
|
2月前
|
Ubuntu Linux 网络安全
|
2月前
|
Linux
centos7实现磁盘挂载,解挂,开机自动挂载,解决挂载文件覆盖问题
centos7实现磁盘挂载,解挂,开机自动挂载,解决挂载文件覆盖问题
96 0
|
3月前
|
负载均衡 算法 Linux
百度搜索:蓝易云【Centos7系统Haproxy安装配置教程】
现在,HAProxy已经成功安装和配置在您的CentOS 7系统上。它将监听您配置的端口,并根据负载均衡策略将请求转发到后端服务器。您可以根据需要自定义更多的配置,如SSL终止、ACL和更复杂的负载均衡算法。请确保HAProxy的配置符合您的需求,并在进行更改之前备份配置文件,以防止意外的错误。
41 2
|
3月前
|
Linux 网络安全
百度搜索:蓝易云【centos7通过配置hosts.allow和hosts.deny限制登陆教程】
从现在开始,根据您在 `hosts.allow`和 `hosts.deny`文件中配置的规则,特定的主机将被允许或拒绝登录到您的CentOS 7系统。请确保您谨慎地配置这些文件,以避免意外地限制访问。同时,建议备份这些文件以备不时之需。
41 1
|
3月前
|
存储 安全 Linux
百度搜索:蓝易云【CentOS7环境:安装配置gitlab(适用于内网、外网环境)】
这些是在CentOS 7环境下安装和配置GitLab的基本步骤。根据您的需求和具体环境,可能还需要进行其他配置和调整。请确保在进行任何与网络连接和安全相关的操作之前,详细了解您的网络环境和安全需求,并采取适当的安全措施。
58 0
|
3月前
|
消息中间件 Java Kafka
Apache Kafka-初体验Kafka(02)-Centos7下搭建单节点kafka_配置参数详解_基本命令实操
Apache Kafka-初体验Kafka(02)-Centos7下搭建单节点kafka_配置参数详解_基本命令实操
57 0

热门文章

最新文章