当前位置: 首页 > article >正文

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

前言

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

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

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

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

1. 创建Jenkins Systemd单元文件

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

sudo nano /etc/systemd/system/jenkins.service

在文件中添加以下内容:

[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配置,以使新的服务配置生效。

sudo systemctl daemon-reload

3. 启用服务开机自启动

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

sudo systemctl enable jenkins

4. 启动Jenkins服务

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

sudo systemctl start jenkins

5. 验证服务状态

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

sudo systemctl status jenkins

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

6. 重启服务(可选)

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

sudo systemctl restart jenkins

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

1. 打开rc.local文件

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

sudo nano /etc/rc.d/rc.local

2. 添加启动命令

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

/etc/init.d/jenkins start

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

3. 保存并授予执行权限

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

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

4. 重启系统

确保文件是可执行的:

sudo ls -l /etc/rc.d/rc.local

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

sudo reboot

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

总结

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

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

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


http://www.kler.cn/news/162568.html

相关文章:

  • 年度工作总结怎么写?掌握这些年终总结万能公式,让你的报告出彩无比!
  • 【Docker】进阶之路:(十)Docker日志管理
  • Linux基础——进程初识(一)
  • Filed II 绘制超声 3D/2D 点扩散函数
  • MS5228/5248/5268:2.7V 到 5.5V、 12/14/16Bit、内置基准、八通道数模转换器
  • Jupyter安装使用教程
  • DHTMLX Scheduler PRO 6.0.5 Crack
  • 彻底解决ModuleNotFoundError: No module named ‘exceptions‘【Bug完美解决】
  • camera2对摄像头编码h264
  • Linux高级管理-搭建网站服务
  • 服务器配置免密SSH
  • mybatis数据输出-使用resultMap标签定义实体类属性和数据库字段对应关系,再在SQL语句中引用这个对应关系
  • 【网络编程】-- 02 端口、通信协议
  • 简单实用的firewalld命令
  • 创建vue项目:vue脚手架安装、vue-cli安装,vue ui界面创建vue工程(vue2/vue3),安装vue、搭建vue项目开发环境(保姆级教程二)
  • 虚拟化之Stage2地址翻译
  • ChatGPT的进化史
  • 防水,也不怕水。Mate X5是如何做到让你湿手湿屏也不影响操作的?
  • 《opencv实用探索·十五》inRange二值化图像
  • 《Spring Cloud Alibaba 从入门到实战》理论知识篇
  • 前端大文件上传webuploader(react + umi)
  • QT作业2
  • Scala 从入门到精通
  • 【前端】没有了element时,怎么实现一个自己的form表单组件和表单校验(用法参考el-form)
  • 这些接口自动化测试工具如果不知道,就真out了!
  • unity 2d 入门 飞翔小鸟 小鸟跳跃 碰撞停止挥动翅膀动画(十)
  • 机器学习-分类问题
  • Tmux中使用Docker报错 - 解决方案
  • Windows下使用CMD修改本地IP
  • SQL自学通之简介