首页 > 系统相关 >Centos上配置服务开机自启动的3种方式

Centos上配置服务开机自启动的3种方式

时间:2023-06-01 22:24:58浏览次数:49  
标签:服务 Centos etc pid kibana 开机 rc 自启动 chkconfig

前言  

在服务器上安装的各种中间件,为了防止意外宕机重启导致的后果,一般都需要配置成开机自启动。但是有些中间件的安装过程中并没有提供相关配置开机自启动的说明文档。今天和各位大朋友们聊一聊Centos上配置服务开机自启动的几种方式。

Centos下配置服务开机自启动有3种方式:
  • 方式一:直接在/etc/rc.d/rc.local中添加服务启动命令;
  • 方式二:通过chkconfig配置服务自启动;
  • 方式三:Centos7通过systemctl enble配置服务自启动。

操作过程

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

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

想简单点可以直接将服务的启动命令添加到/etc/rc.d/rc.local中:

也可以自己编写服务启动的脚本。由于重启时是以root用户重启,需要保证root用户有脚本执行权限。
1)编写服务启动的脚本
#vi /opt/script/zabbixstart.sh
输入启动脚本内容:
#!/bin/bash
/home/ampdcp/snc_product/zabbix_proxy/sbin/zabbix_proxy -c
/home/ampdcp/snc_product/zabbix_proxy/etc/zabbix_proxy.conf
2)赋予脚本可执行权限
#chmod +x /opt/script/zabbixstart.sh
3)打开/etc/rc.d/rc.local文件,在末尾增加如下内容
#/opt/script/autostart.sh
4)在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和启动顺序的概念:
这里的0到6其实指的就是服务的level。指定系统服务要在哪一个执行等级中开启或关毕。
  • 等级0表示:表示关机;
  • 等级1表示:单用户模式;
  • 等级2表示:无网络连接的多用户命令行模式;
  • 等级3表示:有网络连接的多用户命令行模式;
  • 等级4表示:不可用;
  • 等级5表示:带图形界面的多用户模式;
  • 等级6表示:重新启动。
比如如下命令:
//设定mysqld在等级3和5为开机运行服务:
chkconfig --level 35 mysqld on
//设置network服务开机自启动,会把2~5的等级都设置为on:
chkconfig network on

chkconfig配置的服务启动顺序最后都会在/etc/rc.d/目录下体现出来。
使用chkconfig配置kibana开机自启实例:
1)在/etc/init.d目录下,新建脚本kibana,脚本内容如下
#!/bin/bash

# chkconfig: 2345 98 02
# description: kibana
注意:每个被chkconfig管理的服务需要在对应的init.d下的脚本加上两行或者更多行的注释。第一行告诉chkconfig缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 - 代替运行级。第二行对服务进行描述,可以用\ 跨行注释。
解释说明:配置kibana服务在2、3、4、5的level等级下脚本执行顺序是98。
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
2)增加脚本的可执行权限
#chmod +x kibana
3)查看chkconfig list
#chkconfig --list
4)把服务添加到chkconfig列表
#chkconfig --add kibana
5)设置kibana服务自启动
#chkconfig kibana on //开启开机自动启动。
#查看kibana服务自启动状态:
#chkconfig --list kibana //如果2~5都是on,就表明会自动启动了。
3. Centos7通过systemctl配置kibana服务自启动
在Centos7后,更推荐通过systemctl来控制服务。
3.1 systemctl服务的目录介绍
知道服务的管理是通过 systemd,而 systemd 的配置文件大部分放置于 /usr/lib/systemd/目录内。但是 Red Hat 官方文件指出, 该目录的文件主要是原本软件所提供的设置,建议不要修改!而要修改的位置应该放置于/etc/systemd/system/目录内。
3.2 建立kibana开机服务件
#cd /etc/systemd/system/
#vim kibana.service
脚本内容:
[Unit]
Description=kibana
After=network.target
[Service]
Type=forking
User=root
Group=root
ExecStart=/etc/init.d/kibana start
ExecReload=/etc/init.d/kibana restart
ExecStop=/etc/init.d/kibana stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
这里ExecStart、ExecReload、ExecStop的命令还是借助了上文在/etc/init.d目录下配置kibana脚本来实现。
  • [Service]的启动、重启、停止命令全部要求使用绝对路径。
  • [Install]服务安装的相关设置,可设置为多用户。
参数说明:
  • Description:描述服务;
  • After:描述服务类别;
  • [Service]服务运行参数的设置;
  • Type=forking是后台运行的形式;
  • User 服务启动用户;
  • Group 服务启动用户组;
  • ExecStart 为服务的具体运行命令;
  • ExecReload 为重启命令;
  • ExecStop 为停止命令;
  • PrivateTmp=True表示给服务分配独立的临时空间。
3.3 赋予执行权限
#chmod 754 kibana.service
3.4 服务的启动、停止、开机启动
//重新加载某个服务的配置文件,如果新安装了一个服务,归属于 systemctl 管理,要是新服务的服务程序配置文件生效,需重新加载。
#systemctl daemon-reload
//查看服务状态
#systemctl status kibana.service
服务状态说明:

 

标签:服务,Centos,etc,pid,kibana,开机,rc,自启动,chkconfig
From: https://www.cnblogs.com/Alwayslearn/p/17450399.html

相关文章

  • CentOS 安装 svn server
    https://www.howtoforge.com/tutorial/how-to-setup-a-svn-server-on-centos-6/安装安装subversion只需一条命令yuminstall-ysubversion输入的日志信息:Loadedplugins:fastestmirror,langpacksRepodataisover2weeksold.Installyum-cron?Orrun:yummakec......
  • CentOS 安装 svn server ..
    https://subversion.apache.org/packages.html 1.安装Subversionyuminstall-ysubversion2.安装mod_dav_svnyuminstall-ymod_dav_svn3.使用svnadmin命令创建svn仓库手册svnadmincreate/data/svn/repo14.将所属权移交apachechown-Rapache:apache......
  • Linux centos7 ppc64le编译安装MySQL8遇见问题
    一.关于Nopackagedevtoolset-7-gccavailable.的解决办法1.使用centos默认yum源2.依次执行以下命令yuminstall-ycentos-release-sclyuminstall-ydevtoolset-7 二.cmake3>=3.6.1isneededbymysql-community-8.0.18-1.el7.ppc64le安装cmake3yuminstall......
  • CentOS7部署LAMP环境
    【转载】CentOS7部署LAMP环境宇翔2020 网路小栈 2023-04-1823:12 发表于山东收录于合集#CentOS3个#Linux操作系统2个LAMP分别代表Linux、Apache、MySQL和PHP。  本文使用的软件版本如下:Apache:2.4.6MySQL:8.0.32PHP:8.2.4phpMyAdmin:5.2.1 ......
  • 把任意程序注册成windows服务, 并设置开机自动启动
    背景最近有个需求让我把原本部署在linux系统上的数据库和对数据库进行CRUD的java程序部署到windows系统上来.问题mysql和tdengine这两个数据库有windows版本,直接安装就行了,并且也已经自动注册成服务,可以自己设置开机自动启动(控制面板->本地服务)但是kafka和zookeepe......
  • 基于CentOS7系统Docker19.03.15离线安装
    一、离线安装(1)去官网下载docker安装二进制包,选择适合自己的版本。这里下载的是docker-19.03.15.tgz,下载地址:https://download.docker.com/linux/static/stable/x86_64/(2)将安装包上传至安装机器(3)解压tar-xfdocker-19.03.15.tgz(4)将解压后的文件移至/usr/bin/......
  • Centos Yum源配置(清华源)
    配置清华源执行清华源官方语句https://mirrors.tuna.tsinghua.edu.cn/help/centos/?repo=centos7替换当前文件并备份请注意,CentOS8(非Stream版)已提前进入EOL停止服务阶段,因此镜像已被官方移动。如果您正在寻找关于这些系统的镜像,请参考centos-vault的帮助。该文件夹只提......
  • Ubuntu 20.04.2 设置程序开机自启动
    Ubuntu20.04.2设置程序开机自启动Ubuntu20.04.2设置程序开机自启动关于Jar包设置开机自启动乌班图20放置开机启动文件的目录改变了首先是进入放置起动脚本的目录cd/etc/profile.droot@dell3640:/home/uadmin/huimv.hy#cd/etc/profile.droot@dell3640:/etc/profile.d......
  • centos 添加新用户并授权
    添加用户[root@devops~]#adduserxuwei为这个用户初始化密码,linux会判断密码复杂度,不过可以强行忽略:[root@devops~]#passwdxuwei赋予sudo权限vim/etc/sudoers添加一行查看用户信息的常用命令用户列表文件:/etc/passwd用户组列表文件:/etc/group查看系统中有哪......
  • 图解VirtualBox安装CentOS 7
    VirtualBox简介VirtualBox是由德国InnoTek软件公司出品的虚拟机软件,现在则由甲骨文公司进行开发,是甲骨文公司xVM虚拟化平台技术的一部分。VirtualBox提供用户在32位或64位的Windows、Solaris及Linux操作系统上虚拟其它x86的操作系统。用户可以在VirtualBox上安装并且执行Solari......