CentOS服务自启权威指南:手动启动变为开机自启动(以Jenkins服务为例)

前言

CentOS系统提供了多种配置服务开机自启动的方式。本文将介绍其中两种常见的方式,

  1. 一种是使用Systemd服务管理器配置,不过,在实际中,如果你已经通过包管理工具安装的,那么服务通常已经被配置为Systemd服务,只需要命令sudo systemctl enable yourService 设置开机自启动即可。但是如果你是压缩包解压的方式安装服务,可以参考如下步骤。
  2. 另一种是通过修改/etc/rc.d/rc.local文件实现。

在这里,我们以Jenkins为例,演示如何将其手动启动的服务配置为开机自启动。

方式一:Systemd方式配置开机自启动:

1. 创建Jenkins Systemd单元文件

首先,使用你喜欢的文本编辑器创建一个新的Systemd单元文件(当然也可以vim指令编辑)。在本例中,我们将以Jenkins为例。

bash 复制代码
sudo nano /etc/systemd/system/jenkins.service

在文件中添加以下内容:

bash 复制代码
[Unit]
Description=Jenkins Automation Server
Documentation=https://jenkins.io/doc/

[Service]
ExecStart=/etc/init.d/jenkins start
ExecStop=/etc/init.d/jenkins stop
Type=forking
User=root

[Install]
WantedBy=default.target

这个配置文件描述了Jenkins服务的基本信息:

  1. [Unit] 部分
    Description: 描述了服务的简短说明,即"Jenkins Automation Server",这是对服务的概要描述。
    Documentation: 提供了服务的文档链接,方便用户查阅有关服务的文档。
  2. [Service] 部分
    ExecStart: 定义了服务启动时执行的命令。在这里,指定使用 /etc/init.d/jenkins start 命令启动 Jenkins 服务。
    ExecStop: 定义了服务停止时执行的命令。在这里,指定使用 /etc/init.d/jenkins stop 命令停止 Jenkins 服务。
    Type: 指定服务的类型。在这里,forking 表示启动服务时,Systemd 会等待服务进程 fork 出子进程,然后主进程退出。这通常用于传统的后台守护进程。
    User: 指定服务运行的用户。在这里,服务以 root 用户身份运行。请注意,以 root 用户身份运行服务可能存在一些安全风险,因此请谨慎使用。
  3. [Install] 部分
    WantedBy: 指定服务的启动目标。在这里,设置为 default.target,表示服务是默认目标的一部分。这意味着在系统启动时会启动 Jenkins 服务。

2. 重新加载Systemd配置

保存并关闭文件后,重新加载Systemd配置,以使新的服务配置生效。

bash 复制代码
sudo systemctl daemon-reload

3. 启用服务开机自启动

启用Jenkins服务在系统启动时自动启动。

bash 复制代码
sudo systemctl enable jenkins

4. 启动Jenkins服务

手动启动Jenkins服务以验证配置。

bash 复制代码
sudo systemctl start jenkins

5. 验证服务状态

使用以下命令检查Jenkins服务的运行状态。

bash 复制代码
sudo systemctl status jenkins

如果一切正常,你应该看到Jenkins服务正在运行的详细信息。

6. 重启服务(可选)

如果需要对服务进行更改,可能需要重新启动服务以使更改生效。

bash 复制代码
sudo systemctl restart jenkins

方式二:/etc/rc.d/rc.local文件方式配置开机自启动:

1. 打开rc.local文件

编辑/etc/rc.d/rc.local文件(当然也可以vim指令编辑):

bash 复制代码
sudo nano /etc/rc.d/rc.local

2. 添加启动命令

在文件的末尾添加Jenkins启动命令,例如:

bash 复制代码
/etc/init.d/jenkins start

确保命令路径正确且有效。

3. 保存并授予执行权限

保存并关闭文件后,授予执行权限:

bash 复制代码
sudo chmod +x /etc/rc.d/rc.local

4. 重启系统

确保文件是可执行的:

bash 复制代码
sudo ls -l /etc/rc.d/rc.local

输出应该包含-rwxr-xr-x,表示文件是可执行的。最后,重启系统:

bash 复制代码
sudo reboot

选择其中一种方式进行配置,根据你的系统和个人偏好进行选择,确保Jenkins服务在CentOS系统启动时能够自动启动。

总结

通过这两种配置方式,你可以轻松将服务(以Jenkins为例)在CentOS系统启动时自动启动。使用Systemd提供了现代而强大的服务管理功能,适用于大多数Linux系统。而修改/etc/rc.d/rc.local文件则是一种传统但仍然有效的方法,特别是在一些老旧的系统中。

选择合适的方式取决于你的系统版本和个人偏好。使用Systemd方式,你能够更灵活地管理服务,同时充分利用现代Linux系统的功能。而/etc/rc.d/rc.local方式则在某些情况下可能更为简便。

无论你选择哪种方式,确保配置正确,以确保你的服务在系统启动时能够顺利运行。通过这些步骤,你已经掌握了在CentOS系统中配置开机自启动服务的基本方法。

相关推荐
繁依Fanyi28 分钟前
旅游心动盲盒:开启个性化旅行新体验
java·服务器·python·算法·eclipse·tomcat·旅游
不烦下雨c39 分钟前
[网络]抓包工具介绍 tcpdump
linux·tcpdump
南瓜小米粥、1 小时前
通过fdisk初始化Linux数据盘
linux·运维·服务器
秋风起,再归来~1 小时前
【Linux庖丁解牛】—Linux基本指令(中)!
linux·指令
Eternal-Student1 小时前
预处理、编译、汇编、链接
linux·汇编·windows
sp_wxf2 小时前
Stream流
linux·服务器·windows
LYK_HAHA3 小时前
centos常用知识和命令
linux·运维·centos
老齐谈电商3 小时前
开源电商erp系统启航电商ERP系统centos Docker部署
docker·开源·centos
PythonFun3 小时前
自建RustDesk服务器:详细步骤与操作指南
运维·服务器
Android技术栈3 小时前
鸿蒙开发(NEXT/API 12)【管理应用与Wear Engine服务的连接状态】手机侧应用开发
服务器·harmonyos·鸿蒙·鸿蒙系统·openharmony