ubuntu系统私有部署后配置开机启动

私有部署 私有部署  收藏
14 / 785

自己在看官方教程的时候因为是个小白所以有些东西不理解,就各种查想办法,现在把 Ubuntu 系统配置开机启动的方式分享给大家,大佬勿喷,给同样跟我一样非技术类的爱好者看。

在 Ubuntu 系统中配置开机启动的脚本与 CentOS 有所不同,主要因为 Ubuntu 使用 systemd 作为其初始化系统,而 CentOS 7 及以上版本也使用 systemd,但传统上 CentOS 可能使用 init。以下是如何在 Ubuntu 上配置开机启动脚本的步骤:

步骤 1: 创建一个自定义的 systemd 服务

  1. 创建服务文件
    打开一个文本编辑器,创建一个新的 systemd 服务文件。例如,您可以创建一个名为 mingdao.service 的文件。您可以使用 nano 或任何您喜欢的文本编辑器:

    sudo nano /etc/systemd/system/mingdao.service
    
  2. 编写服务配置
    在编辑器中,添加以下内容来定义您的服务:
    注意:👀️ /bin/bash ***/opt/mingdao/service.sh startall 这个路径改成自己的

    [Unit]
    Description=Start Mingdao services at boot time
    After=network.target
    
    [Service]
    Type=oneshot
    ExecStart=/bin/sleep 30
    ExecStart=/usr/bin/docker system prune -f
    ExecStart=/bin/bash /opt/mingdao/service.sh startall
    RemainAfterExit=yes
    
    [Install]
    WantedBy=multi-user.target
    

    这里的配置定义了一个服务,它在网络服务可用后启动,执行三个命令:先等待 30 秒,清理 Docker 系统,然后运行一个脚本启动所有服务。

  3. 保存并关闭文件

步骤 2: 启用和启动服务

  1. 重新加载 systemd 管理器配置,以确保 systemd 识别新的服务文件:

    sudo systemctl daemon-reload
    
  2. 启用服务,使其在系统启动时自动启动:

    sudo systemctl enable mingdao.service
    
  3. 如果您希望立即测试服务,可以手动启动它:

    sudo systemctl start mingdao.service
    

步骤 3: 检查服务状态

您可以检查服务的状态,确保一切按预期工作:

sudo systemctl status mingdao.service

这将显示服务的当前状态,包括是否正在运行,以及最近的日志条目。

使用这种方法,您可以将任何启动脚本添加为 systemd 服务,在 Ubuntu 系统上实现开机自启动。这比在 /etc/rc.local 中直接写命令更加现代和灵活,也更容易管理和调试。