CentOS7.6上配置服务开机自启动的3种方式 |
您所在的位置:网站首页 › 荣耀10有几种开机方式设置的吗 › CentOS7.6上配置服务开机自启动的3种方式 |
一、前言
在服务器上安装的各种中间件,为了防止意外宕机重启导致的后果,一般都需要配置成开机自启动。但是有些中间件的安装过程中并没有提供相关配置开机自启动的说明文档。今天和各位大朋友们聊一聊 Centos上配置服务开机自启动的几种方式。 Centos下配置服务开机自启动有3种方式: 方式一:直接在/etc/rc.d/rc.local中添加服务启动命令; 方式二:通过chkconfig配置服务自启动; 方式三:Centos7通过systemctl enble配置服务自启动。 二、操作过程 2.1 在/etc/rc.d/rc.local中添加服务启动命令/etc/rc.d/rc.local脚本会在Centos系统启动时被自动执行,所以可以把需要开机后执行的命令直接放在这里。 #vi /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.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和启动顺序的概念: 比如如下命令: //设定mysqld在等级3和5为开机运行服务: chkconfig --level 35 mysqld on//设置network服务开机自启动,会把2~5的等级都设置为on: chkconfig network on
使用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,就表明会自动启动了。 2.3 Centos7通过systemctl配置kibana服务自启动在Centos7后,更推荐通过systemctl来控制服务。 知道服务的管理是通过 systemd,而 systemd 的配置文件大部分放置于 /usr/lib/systemd/目录内。但是 Red Hat 官方文件指出, 该目录的文件主要是原本软件所提供的设置,建议不要修改!而要修改的位置应该放置于/etc/systemd/system/目录内。 2.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表示给服务分配独立的临时空间。 2.3.3 赋予执行权限 #chmod 754 kibana.service 2.3.4 服务的启动、停止、开机启动//重新加载某个服务的配置文件,如果新安装了一个服务,归属于 systemctl 管理,要是新服务的服务程序配置文件生效,需重新加载。 #systemctl daemon-reload //查看服务状态 #systemctl status kibana.service服务状态说明: |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |