linRichielinRichie
前端
Python
Linux
ChatGPT
  • B 站
  • 500px
前端
Python
Linux
ChatGPT
  • B 站
  • 500px
  • Ansible

    • Ansible: 基本操作
    • Ansible: 安装
    • Ansible: 简介
    • YAML: 文件格式
    • Playbook

      • Playbook: 介绍
      • Playbook: 操作
    • 模块

      • Yum模块常用参数
    • 实战

      • Ansible 实战
  • Anaconda

    • Anaconda命令
  • Iptables

    • Iptable: 防火墙
    • iptables 用法
  • Systemd

    • 系统服务配置
    • 系统服务启动文件
    • 性能优化

      • Linux 系统监控
      • Linux 系统性能优化
      • Linux 系统故障诊断
      • Linux 系统日志管理
  • Network

    • 用一张图解释 8 种流行的网络协议
    • 反子网掩码
    • 交换机端口模式
    • eNSP 软件
    • 华为交换机配置命令
    • eNSP静态路由实验
  • Commands

    • 命令别名:alias
    • 多类型资源统计工具: dstat
    • history配置
    • unzip命令
    • Linux用户到期登录时间和随机密码
    • 常用 Command
    • ssh

      • ssh-keygen
      • linux ssh命令
  • CI/CD

    • Jenkins CI/CD 管道
  • Kubernetes

    • Docker系列学习

      • 01. 什么是Docker
      • 02. Docker安装
      • 03. 使用Docker镜像
      • 04. 利用commit理解镜像构成
      • 05. 操作Docker容器
      • 06. 使用Dockerfile定制镜像
      • 07. Dockerfile指令详解
      • 08. Dockerfile多阶段创建
      • 09. 访问仓库
      • 10. 修改docker的启动项
      • 11. Nexus3.x的私有仓库
      • 12. docker-hub加速器
      • 13. 数据管理
      • 14. 使用网络
  • Shell编程

    • Shell 编程基础
    • Shell 脚本执行消耗的时间
    • Shell 自动生成简介

系统服务配置

  • Systemd 服务管理
    • 服务单元介绍
    • 服务状态查看
    • 服务状态说明
    • 服务管理命令
    • 系统管理
  • 服务配置文件
    • 配置文件位置
    • 配置文件示例
  • 最佳实践

Systemd 服务管理

服务单元介绍

Systemd 中的服务单元(Unit)是系统服务的基本单位:

  • 以 .service 结尾的文件表示一个服务
  • 支持开机自启动配置
  • 可以管理传统的 init 服务

服务状态查看

# 列出所有服务单元
systemctl list-unit-files --type=service

# 查看服务详细信息
systemctl status service_name

# 查看服务配置文件
systemctl cat service_name.service

服务状态说明

STATE说明
disabled开机不启动
enabled开机自启动
static对应的Unit文件没有定义[Install]区域,所以无法设置为开机启动
masked服务被禁止启动

服务管理命令

# 启动服务
systemctl start service_name

# 停止服务
systemctl stop service_name

# 重启服务
systemctl restart service_name

# 重新加载配置
systemctl reload service_name

# 设置开机自启
systemctl enable service_name

# 禁用开机自启
systemctl disable service_name

系统管理

# 查看启动失败的服务
systemctl --failed

# 重新加载所有服务文件
systemctl daemon-relaod

服务配置文件

配置文件位置

  • /etc/systemd/system/ - 系统服务配置文件
  • /usr/lib/systemd/system/ - 软件包安装的服务文件

配置文件示例

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

[Service]
Type=simple
ExecStart=/usr/bin/myservice
Restart=always

[Install]
WantedBy=multi-user.target

最佳实践

  1. 服务管理

    • 使用 systemctl 管理服务
    • 定期检查服务状态
    • 及时处理失败服务
  2. 配置建议

    • 遵循最小权限原则
    • 合理设置依赖关系
    • 添加适当的服务描述

注意:

  • 修改配置后需要重新加载
  • 注意服务间的依赖关系
  • 重要服务建议设置自动重启
最近更新时间:
Next
系统服务启动文件