成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何玩轉 systemd:從基礎到進階

運維
Systemd通過單元文件(Unit files)來描述和管理不同的系統資源和服務。Systemd 支持 12 種 Unit 文件類型。下面就將我們生產環境中常用到的Service單元文件展開講解。

一、概述

systemd是一個系統和服務管理器,systemd是Linux系統中一套基本的構建模塊,提供了一系列工具的集合,用于管理后臺服務、狀態查詢、日志歸檔、設備管理、電源管理和定時任務等許多職責。

systemd作為PID為1的進程,是系統中所有其他進程的父進程。

systemctl是一個命令行工具,用于與systemd進行交互。通過systemctl,用戶可以啟動、停止、重啟、查看狀態以及管理系統中的服務單元

systemd作為后臺服務運行,而systemctl則提供了用戶與systemd交互的接口。用戶通過systemctl發送指令,systemd執行相應的操作

systemctl的命令實際上是向systemd發送請求,告訴systemd要做什么。

systemd通過單元文件(Unit files)來描述和管理不同的系統資源和服務。Systemd 支持 12 種 Unit 文件類型。下面就將我們生產環境中常用到的Service單元文件展開講解。

二、service文件

定義軟件服務的文件通常是systemd服務單元文件,具有.service后綴,這些文件通常位于以下目錄:

# 系統或用戶自定義的配置文件
/etc/systemd/system/
# 軟件運行時生成的配置文件
/run/systemd/system
# 系統或第三方軟件安裝時添加的配置文件。
/usr/lib/systemd/system

Systemd 默認從目錄 /etc/systemd/system/ 讀取配置文件。但是,里面存放的大部分文件都是符號鏈接,指向目錄 /usr/lib/systemd/system/,真正的配置文件存放在那個目錄。

1. service組成部分

service文件主要三大模塊:

[Unit]:  #定義與Unit類型無關的通用選項,用于提供unit的描述信息、unit行為及依賴關系等

[Service]: #定義如何啟動、停止、重啟當前服務。

[Install]: #定義如何安裝這個配置文件,即怎樣做到開機啟動。

2. Unit部分

Description:    # 對服務的簡單描述
After:      # 在哪些服務之后啟動
Before:     # 在哪些服務器啟動之前啟動
Requires:    # 可以指定服務依賴于哪些服務(強依賴)
Wants:     # 可以指定服務依賴于哪些服務(弱依賴)

3. Service部分

EnvironmentFile:  # 指定當前服務啟動的環境變量
ExecStart:  # 指定服務啟動時執行的命令或腳本
ExecStop:   #  指明停止服務要運行的命令或腳本
RestartSec:    # 指定服務在重啟時等待的時間,單位為秒
ExecReload:    # 指明重啟服務要運行的命令或腳本
Restart:     # 重啟設置
KillMode:    # 指定停止的方式
Restart:    # 指定重啟時的類型
Type:     # 指定啟動類型,

type的可選值:

simple  # 指定ExecStart字段的進程為主進程
forking  # 指定以fork() 子進程執行ExecStart字段的進程
oneshot  # 執行一次
notify  # 啟動后發送會發送通知信號通知systemd
idle  # 等其他任務結束后才運行

Restart的可選值:

no:    # 退出后不會重啟
on-success:    # 當進程正常退出時(退出碼為0) 執行重啟
on-failure:    # 當進程不正常退出時(退出碼不為0) 執行重啟
on-abnormal:   # 當被信號終止和超時執行重啟on-abort:      當收到沒有捕捉到的信號終止時執行重啟
on-watchdog:   # 當看門狗超時時執行重啟
always:        # 一直重啟

KillMode可選值:

control-group:   # 殺掉當前進程中所有的進程
process:      # 殺掉當前進程的主進程
mixed:    # 主進程將收到 SIGTERM 信號,子進程收到 SIGKILL 信號
none:    # 不殺掉任何進程

4. Install部分

Alias:    # 別名,可使用systemctl command Alias.service
RequiredBy:   # 被哪些units所依賴,強依賴
WantedBy:   # 被哪些units所依賴,弱依賴
Also:   # 安裝本服務的時候還要安裝別的相關服務
Install:  # 一般填為WantedBy=multi-user.target

三、service文件樣例

將自己部署的nginx注冊為系統服務:

[Unit]Description=The nginx web and reverse proxy server
Documentation=https://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
#啟動檢測命令
ExecStartPre=/data/nginx/sbin/nginx -t
#啟動命令
ExecStart=/data/nginx/sbin/nginx -c /data/nginx/conf/nginx.conf
#重載配置文件命令
ExecReload=/data/nginx/sbin/nginx -s reload
#停止命令
ExecStop=/data/nginx/sbin/nginx -s quit

[Install]
WantedBy=multi-user.target

將部署的mysql注冊為系統服務:

[Unit]
Description=Mysql
After=syslog.target network.target remote-fs.target nss-lookup.target 

[Service]
Type=forking
#指定PID文件
PIDFile=/data/mysql/data/centos-linux.shared.pid
#啟動MySQL
ExecStart=/data/mysql/support-files/mysql.server start
#重載
ExecReload=/bin/kill -s HUP $MAINPID
#停止服務
ExecStop=/data/mysql/support-files/mysql.server 
stopPrivateTmp=false 
[Install]
WantedBy=multi-user.target

四、systemctl命令合集

#啟動服務
systemctl start name.service
#停止服務
systemctl stop name.service
#重啟服務
systemctl restart name.service
#查看服務狀態
systemctl status name.service
#禁止自動和手動啟動
systemctl mask name.service
#取消禁止
systemctl unmask name.service
#查看某服務當前激活與否的狀態
systemctl is-active name.service
#查看所有已經激活的服務
systemctl list-units --type|-t service
#查看所有服務
systemctl list-units --type service --all
#設定某服務開機自啟,相當于chkconfig name on
systemctl enable name.service
#設定某服務開機禁止啟動:相當于chkconfig name off
systemctl disable name.service
#查看所有服務的開機自啟狀態,相當于chkconfig --list
systemctl list-unit-files --type service
#用來列出該服務在哪些運行級別下啟用和禁用:chkconfig –list namels /etc/systemd/system/*.wants/name.service
#查看服務是否開機自啟
systemctl is-enabled name.service
#列出失敗的服務
systemctl --failed --type=service
#查看服務的依賴關系
systemctl list-dependencies name.service
#殺掉進程
systemctl kill unitname
#重新加載配置文件
systemctl daemon-reload
#關機
systemctl halt
#重啟服務器
systemctl reboot
責任編輯:趙寧寧 來源: 運維李哥不背鍋
相關推薦

2023-09-19 23:07:53

Python算法

2025-06-16 07:30:00

WinForm串口通信開發

2024-08-05 00:00:50

ES6JavaScriptClass

2021-12-12 18:15:06

Python并發編程

2023-10-12 15:38:50

FreeDOS命令

2022-03-23 08:45:20

系統性能CPU

2013-12-18 13:30:19

Linux運維Linux學習Linux入門

2024-01-11 11:25:22

2024-07-03 10:09:29

2023-12-26 08:40:06

分類算法數據分析Python

2025-02-11 07:40:27

2015-11-24 10:46:06

LinuxNetworkManasystemd-net

2025-06-03 08:35:00

命令Linux日志分析

2024-10-17 09:57:30

2021-02-05 09:00:00

開發IT事件管理

2024-10-22 16:59:07

2022-07-15 16:31:49

Postman測試

2024-05-28 08:46:50

遞歸算法題函數

2023-10-26 08:25:39

KubernetesKubeadm

2016-09-06 20:46:53

JavaScript遞歸與數列Web
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 狠狠爱综合 | 欧美xxxx网站 | www.99re| 毛片视频免费观看 | 毛片一级网站 | 欧美黄色一区 | 亚洲一区二区三区视频 | 久久精品国产免费 | 在线观看国产视频 | 亚洲免费视频在线观看 | 精品久久久久国产 | 日本电影韩国电影免费观看 | 一区二区三区视频在线 | 欧美一区在线视频 | 国产成人一区在线 | 日韩美女一区二区三区在线观看 | 久免费视频 | 九色视频网站 | 一区二区三区视频在线观看 | 成人午夜网站 | 青青草网站在线观看 | 国产精品视频在线播放 | 中国一级特黄毛片大片 | 黄色av网站在线观看 | 日韩高清国产一区在线 | 伊人网站在线 | 日韩欧美中文字幕在线视频 | 精品人伦一区二区三区蜜桃网站 | 欧美日韩在线一区二区三区 | 日韩中文字幕免费在线 | 色黄爽 | 亚洲免费在线 | 伦理午夜电影免费观看 | 国产精品久久久久久久久久免费 | 国产综合精品 | av看片网站| 国产日韩欧美在线观看 | 亚洲乱码一区二区三区在线观看 | 欧美一级免费看 | 欧美片网站免费 | 久久蜜桃av一区二区天堂 |