[实用技巧] CentOS 7如何手动为服务添加自启动?

918d0c213e3262aeb22cd6d16495a81d.png

欢迎大家来到运维家微信公众号!我是一个持续学习Linux和Python技术的工程师,在这里与大家分享有关Linux运维的实用知识和技巧。今天,我们将一起来探讨如何为CentOS 7系统中的服务手动添加自启动。让我们开始吧!

引言

在CentOS 7中,大部分服务都可以通过systemctl enable service_name命令来实现自启动。但是,有些特殊情况下,我们可能需要手动添加某些服务的自启动。下面,我将向您演示如何执行此操作。

要求环境

在开始之前,您需要满足以下要求:

  • CentOS 7操作系统

  • root权限或具有sudo访问权限

请确保您已正确设置环境,并且拥有对应的权限。

实战案例

方案一:

下面我将以httpd服务为例,详细说明如何手动为服务添加自启动:

  1. 打开终端并以root身份登录到您的CentOS 7系统。

  2. 使用文本编辑器(如vim)打开/etc/rc.d/rc.local文件。

  3. 在文件末尾添加以下内容:

    /usr/sbin/httpd

    这行代码将启动httpd服务。

  4. 保存并关闭文件。

  5. 接下来,我们还需要为rc.local文件设置可执行权限。在终端中执行以下命令:

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

    这会赋予rc.local文件可执行权限。

  6. 最后,在终端中启动httpd服务:

    systemctl start httpd

    确保服务正确启动。

  7. 然后,重启系统:

    reboot

    系统重启后,httpd服务将自动启动。

方案二

  1. 使用root权限登录到CentOS 7服务器。

  2. 进入/etc/init.d/目录:

cd /etc/init.d/
  1. 创建一个名为<service_name>的启动脚本文件:

touch <service_name>

<service_name> 替换为你的服务名称,例如可以新建一个文件名字为tomcat

touch tomcat
  1. 在打开的文件中,添加以下模板代码:

#!/bin/bash
# chkconfig: 2345 99 01
# description: Description of your service

# Add your service start, stop, restart, etc. commands here

注意:

  • chkconfig行中,2345是运行级别,99是启动顺序,01是停止顺序。根据你的需求进行适当修改。

  • description行中,输入你的服务描述。

  1. 在脚本中配置你的服务的启动、停止、重启等命令。例如,你可以添加以下命令来启动你的服务:

# Start command example
source /etc/profile  # 这一步很重要,一定要写上
cd /home/tomcat
./bin/startup.sh
  1. 保存并退出文件,此时完整的脚本内容如下:

#!/bin/bash
# chkconfig: 2345 99 01
# description: Description of your service
   
# Add your service start, stop, restart, etc. commands here
# Start command example
source /etc/profile  # 这一步很重要,一定要写上
cd /home/tomcat
./bin/startup.sh
  1. 设置脚本的可执行权限:

chmod +x tomcat
  1. 添加你的服务到启动项:

chkconfig --add tomcat
  1. 设置服务的运行级别,让它在所需的运行级别下自动启动(例如:2, 3, 4 和 5):

chkconfig --level 2345 tomcat on
  1. 重新启动服务器,你的服务将自动启动。

  2. 查看是否配置成功了,可以看到最后一行就是我们添加的服务tomcat了。

[root@localhost ~]# chkconfig --list
agentboot       0:off   1:off   2:on    3:on    4:on    5:on    6:off
denyhosts       0:off   1:off   2:on    3:on    4:on    5:on    6:off
jdog_service    0:off   1:off   2:on    3:on    4:on    5:on    6:off
netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
tomcat          0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@localhost ~]#

请注意,在使用此方法之前,确保你的服务可以通过命令行手动启动、停止和重启。如果你的服务无法通过命令行正常运行,请检查服务的配置和依赖项。

文章总结

通过执行上述步骤,您已经成功地为CentOS 7系统中的服务手动添加了自启动。虽然我们无法使用systemctl enable service_name命令,但采用手动添加的方式同样能够实现自启动的效果。

如果您对本文内容感到满意并希望继续接收更多类似的技术知识,请关注并分享我们的运维家微信公众号。感谢您的支持!

a6f8982d1a30d72b2d9c5b5044a0ce61.jpeg

注:本文中的示例仅以httpdtomcat服务为例,请根据实际需求修改相应的服务名称。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值