CentOS 7下systemd管理的详解

CentOS 7下systemd管理的详解

简介

systemd是Linux系统管理和初始化的系统和服务管理器。它是CentOS 7及以上版本的默认init系统。它允许用户管理和配置系统服务,提供更好的管理和日志功能。本文将详细讲解CentOS 7下如何使用systemd进行服务管理。

systemd 的基本管理命令

以下是常用的systemd管理命令:

启动服务

systemctl start service-name

停止服务

systemctl stop service-name

重启服务

systemctl restart service-name

查看服务状态

systemctl status service-name

开机启动服务

systemctl enable service-name

取消开机启动服务

systemctl disable service-name

systemd 服务文件格式

systemd 服务文件被存放在 /etc/systemd/system/ 目录下。一个服务文件通常由以下几个块组成:

[Unit]

描述了服务的基本信息,包括服务名、服务描述、依赖关系等。以下是一个示例:

[Unit]
Description=My Service
After=network.target

[Service]

描述了服务的启动信息,包括服务执行的命令、运行环境、工作目录等。以下是一个简单的示例:

[Service]
Type=simple
ExecStart=/usr/local/bin/my-service

[Install]

描述服务的安装信息,包括要安装的路径等。以下是一个简单的示例:

[Install]
WantedBy=multi-user.target

示例

安装一个简单的服务

假设我们有一个简单的服务,该服务只是输出一行文本,我们可以使用以下步骤在CentOS 7中创建一个systemd服务:

  1. /usr/local/bin 目录下创建一个名为 my-service 的文件,其中包含以下代码:

#!/bin/bash
echo "Hello, World!"

  1. /etc/systemd/system/ 目录下创建一个 my-service.service 文件,其中包含以下代码:

```
[Unit]
Description=My Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/my-service

[Install]
WantedBy=multi-user.target
```

  1. 重新加载 systemd daemon

systemctl daemon-reload

  1. 启动 my-service 服务并查看状态

systemctl start my-service
systemctl status my-service

输出应该是:

```
● my-service.service - My Service
Loaded: loaded (/etc/systemd/system/my-service.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2020-05-05 17:36:25 CST; 8min ago
Main PID: 26470 (my-service)
CGroup: /system.slice/my-service.service
└─26470 /bin/bash /usr/local/bin/my-service

May 05 17:36:25 centos7 systemd[1]: Started My Service.
May 05 17:36:25 centos7 bash[26470]: Hello, World!
```

系统已经成功加载了my-service服务,并且运行良好。

安装并启动一个Node.js应用程序

如果你有一个Node.js应用程序,并希望将其作为系统服务来管理,可以采用以下步骤:

  1. /opt/my-app 目录下创建一个你的Node.js应用程序,确保程序拥有可执行权限。

  2. 创建一个名为 my-app.service 的文件,其中包含以下代码:

```
[Unit]
Description=My Node.js App

[Service]
ExecStart=/usr/bin/node /opt/my-app/app.js
WorkingDirectory=/opt/my-app/
Restart=always
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target
```

  1. 重新加载 systemd daemon

systemctl daemon-reload

  1. 启动 my-app 服务并查看状态

systemctl start my-app
systemctl status my-app

输出应该是:

```
● my-app.service - My Node.js App
Loaded: loaded (/etc/systemd/system/my-app.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2020-05-05 17:36:25 CST; 8min ago
Main PID: 26470 (node)
CGroup: /system.slice/my-app.service
└─26470 /usr/bin/node /opt/my-app/app.js

May 05 17:36:25 centos7 systemd[1]: Started My Node.js App.
```

这时应用程序已经作为系统服务运行,并将在系统启动时启动。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CentOS 7下systemd管理的详解 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • 分析crash文件

    分析crash文件的完整攻略 crash文件是指应用程序在运行过程中发生异常或崩溃时生成的日志文件,包含了应用程序崩溃时的堆栈信息、寄存器状态、线程信息等重要信息。分析crash文件可以帮助开发人员快速定位应用程序崩溃的原因,并进行相应的修复。本文将提供分析crash文件的完整攻略,包括以下步骤: 获取crash文件 使用工具分析crash文件 查看cras…

    other 2023年5月9日
    00
  • ffmpeg正确设置输出选项(-r)

    ffmpeg正确设置输出选项(-r)的完整攻略 在使用ffmpeg进行视频处理时,经常需要设置输出选项,其中-r选项用于设置输出视频的帧率。以下是ffmpeg正确设置输出选项(-r)的完整攻略。 步骤1:查看输入视频的帧率 在设置输出视频的帧率之前,需要先查看输入的帧率。可以使用以下命令看输入视频的帧率: ffmpeg -i input.mp4 在输出信息中…

    other 2023年5月8日
    00
  • 中国科学院大学开源镜像站

    中国科学院大学开源镜像站 介绍 中国科学院大学开源镜像站(https://mirrors.ucas.ac.cn/)是一个致力于开放、自由、独立、可持续的镜像站点,为开源软件和系统提供了一个高速的下载服务。该镜像站为全球范围内的开源项目提供了下载服务,并且提供国内网络环境下更加稳定,快速的镜像下载服务。目前,该镜像站点支持的开源项目有 Python、Node….

    其他 2023年3月29日
    00
  • python怎么将word段落转换成字符串

    Python怎么将Word段落转换成字符串 在Python中,我们有各种各样的库来读取和操作Word文档。其中一个流行的库是python-docx,它允许我们读取和写入Word文档。但是,在某些情况下,我们可能需要将Word文档中的段落转换为字符串以进行其他操作。本文将介绍如何使用python-docx库将Word段落转换为字符串。 安装python-doc…

    其他 2023年3月28日
    00
  • Windows 2016 服务器安全设置

    Windows Server 2016 服务器安全设置攻略 1. 安装更新补丁 要保证服务器的安全性,首先需要安装最新的更新补丁。Windows Server 2016 支持自动更新,也可以手动安装。 自动更新 在“服务”中可查看自动更新相关服务是否启用,确保自动更新功能正常工作。如果需要手动开启自动更新服务,可按照以下步骤进行操作: 点击 “开始” 菜单,…

    other 2023年6月27日
    00
  • ora-00900:oracle过程的无效sql语句

    ORA-00900: Oracle过程的无效SQL语句 在Oracle数据库中,当我们执行一个无效的SQL语句时,可能会遇到ORA-00900错误。本攻略将详细介绍ORA-00900错误的原因和解决方法,并提供两个示例。 原因 ORA-00900错误通常是由于SQL语句的语法错误或拼写错误引起的。这可能是由于以下原因导致的: SQL语句中缺少关键字或标点符号…

    other 2023年5月9日
    00
  • Smart210学习记录—nand flash驱动

    Smart210学习记录—nand flash驱动 背景 在嵌入式系统开发中,存储器件是不可或缺的一部分。NAND Flash作为嵌入式系统中常见的存储器件之一,被广泛应用于设备的存储和数据传输。对于Smart210这样的开发板,NAND Flash也是其中的一部分,因此学习和掌握nand flash的驱动和使用是必要的。 nand flash的工作原理…

    其他 2023年3月28日
    00
  • 注册表趣味应用小集

    注册表趣味应用小集攻略 简介 注册表是Windows操作系统中的一种核心组件,它保存了系统和应用程序的设置和配置信息。通过修改注册表可以实现一些有趣的功能,例如自定义电脑开机声音、禁用UAC等。 步骤 以下是修改注册表的步骤: 打开注册表编辑器。按下Win+R键组合,输入“regedit”并回车,即可打开注册表编辑器。 在左侧面板中,找到需要修改的注册表项。…

    other 2023年6月25日
    00