centos7应用开机自启动

引言

        CentOS 7 是一款基于 RHEL(Red Hat Enterprise Linux)构建的开源操作系统,广泛应用于服务器环境中。在服务器环境中,一些应用程序需要在系统启动时自动运行,以确保其在后台持续运行,提供服务。

        为了实现应用开机自启动,CentOS 7 提供了一种简单而有效的方式——使用 Systemd 服务管理器。Systemd 是一个功能强大的初始化系统和服务管理工具,可以管理和控制系统中的各种服务和进程。

        同时这里将扩展另一种通用的开机自启动方案,利用/etc/rc.d/rc.local文件实现开机自启动。

systemd

1. 确认服务是否具有自启动的配置文件


        在CentOS系统下,一些服务默认会具有自启动的配置文件,我们可以先查看一下我们所需要开机自启动的服务是否具有配置文件。

        常用的系统服务配置文件的目录为/lib/systemd/system/,以nginx服务为示例,我们可以使用以下命令来检查是否有名为nginx.service的配置文件:

 ls /lib/systemd/system/nginx.service

        如果有返回结果就说明存在,反之则需要自己手动创建。

2. 创建自定义的服务配置文件


        如果服务并没有自启动的配置文件,则需要手动创建。

        例如我想让它开机自启动/opt/reboot/main.sh服务,我们可以在/etc/systemd/system/目录下创建一个名为my_reboots.service的文件,然后在该文件中添加以下内容:

[Unit]
Description=MyReboots
After=network.target

[Service]
ExecStart=/bin/bash  /opt/reboot/main.sh
Restart=always

[Install]
WantedBy=multi-user.target

        上述配置文件中,Description是对服务的描述,After则代表在网络启动后才运行该服务,ExecStart则指定了启动该服务所需要执行的命令,Restart则代表该服务在任何时候发生异常情况时都应该自动重启,最后的WantedBy则表示该服务是在多用户模式下运行的。

3. 启动自定义的服务并加入开机自启动


        完成上述配置后,我们需要重新加载systemd的配置并启动该服务,然后再将其加入开机自启动列表。

# 执行以下命令来重新加载systemd的配置:
systemctl daemon-reload

# 然后再执行以下命令来启动该服务并测试一下:
systemctl start my_reboots

# 最后,我们可以将其加入开机自启动列表,使用以下命令:
systemctl enable my_reboots

        这样,我们就完成了自定义服务的配置,并实现了开机自启动。

/etc/rc.d/rc.local

1、准备开机自启sh

        以希望开机自启动【/opt/reboot/main.sh】为例,下面是这个sh的一些示例内容

#!/bin/bash
/usr/local/tomcat/bin/startup.sh #启动tomcat

cd /usr/local/python_projects/
nohup python3 go.py & #启动python项目

        你要注意的是,当上一个指令执行失败后,下一个指令也将无法继续执行

        你可以给这个sh加一个可执行权限,这样就不用显式使用sh或bash来执行了

chmod +x /opt/reboot/main.sh
2、打开/etc/rc.d/rc.local(一般CentOS/RHEL使用)或/etc/rc.local(一般Ubuntu/Debian使用)文件,但加在哪里都无伤大雅【/etc/rc.local是/etc/rc.d/rc.local的软连接】,在末尾增加如下内容
/opt/reboot/main.sh
3、在centos7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限
chmod +x /etc/rc.d/rc.local
4、你得让rc-local本身变为开机自启动,这里就绕回systemd了
sudo systemctl enable rc-local
  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值