簡述systemd的新特性及unit常見類型分析、使用systemd管理編譯安裝的nginx

来源:https://www.cnblogs.com/jzbgltb/archive/2018/11/02/9895224.html
-Advertisement-
Play Games

1. systemd新特性 2. systemd的常見unit類型 3. Systemd關鍵特性 4. 編譯安裝nginx,並使用systemd管理nginx ...


1. systemd新特性

並行處理(同時啟動)所有服務。
基於依賴關係定義的服務控制邏輯
系統狀態快照
按需激活進程,只有第一次被訪問時才會真正啟動;

2. systemd的常見unit類型

Service unit:文件擴展名為.service,主要用於定義系統服務;
Target unit:文件擴展名為.target,主要用於模擬實現運行級別;
Device unit:文件擴展名為.device,主要用於定義內核識別的設備;
Mounu unit:文件擴展名為.mount,主要用於定義文件系統掛載點;
Socket unit:文件擴展名為.sockett,主要用於標識進程間通信用到的socket文件;
snapshot unit:文件擴展名為.snapshot,主要用於管理系統快照;
Swap unit:文件擴展名為.swap,主要用於標識swap設備;
Automount unit:文件擴展名為.automount,主要用於文件系統自動掛載點設置;
Path unit:文件擴展名為.path,主要用於定義文件系統中的文件或目錄;

3. Systemd關鍵特性

基於socket的激活機制:socket與程式分離;
基於bus的激活機制:
基於設備device的激活機制:能監控內核輸出的硬體信息,當設備插入時一旦發現就創建設備文件,再自動掛載至某掛載點,如果掛載點不存在還能自動創建;
基於path的激活機制:系統可監控某目錄或文件是否存在,如果文件存在,就立即激活一個服務或進程;
    例如:某服務運行中突然崩潰,崩潰時能創建一個log或lock文件;一旦發現這個lock文件立即激活一個程式,如發送報告;
系統快照:能保存各unit的當前狀態信息於持久存儲設備中;因為systemd的所有管理都是通過unit實現的,回滾時使用;
向後相容sysv init腳本:所以放在/etc/init.d/服務腳本也一樣能靠systemd來啟動;

4. 編譯安裝nginx,並使用systemd管理nginx

[Allen@centos7 ~]$ tar xf nginx-1.8.1.tar.gz
[Allen@centos7 ~]$ cd nginx-1.8.1/
[Allen@centos7 nginx-1.8.1]$ sudo ./configure --prefix=/usr/local/nginx1.8.1 --with-http_ssl_module
[Allen@centos7 nginx-1.8.1]$ make && make install


[root@centos7 ~]# cat /etc/systemd/system/nginx.service 
[Unit]
Description=nginx server daemon
Documentation=man:nginx(8)
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx1.8.1/sbin/nginx
ExecReload=/usr/local/nginx1.8.1/sbin/nginx -s reload
ExecStop=/usr/local/nginx1.8.1/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

[root@centos7 ~]# systemctl daemon-reload
[root@centos7 ~]# systemctl enable nginx.service
[root@centos7 ~]# systemctl start nginx.service
[root@centos7 ~]# systemctl status nginx.service
● nginx.service - nginx server daemon
   Loaded: loaded (/etc/systemd/system/nginx.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2018-11-02 09:59:09 CST; 4min 15s ago
     Docs: man:nginx(8)
 Main PID: 7893 (nginx)
   CGroup: /system.slice/nginx.service
           ├─7893 nginx: master process /usr/local/nginx1.8.1/sbin/nginx
           ├─7904 nginx: worker process
           ├─7905 nginx: worker process
           ├─7906 nginx: worker process
           ├─7907 nginx: worker process
           └─7908 nginx: worker process

Nov 02 09:59:09 centos7.4 systemd[1]: Starting nginx server daemon...
Nov 02 09:59:09 centos7.4 systemd[1]: Started nginx server daemon.
Nov 02 09:59:43 centos7.4 systemd[1]: Reloaded nginx server daemon.

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本節主要內容: 1. 函數參數--動態傳參 2. 名稱空間, 局部名稱空間, 全局名稱空間, 作⽤域, 載入順序. 3. 函數的嵌套 4. gloabal, nonlocal關鍵字 ⼀. 函數參數--動態傳參 之前我們說過了傳參, 如果我們需要給⼀個函數傳參, ⽽參數⼜是不確定的. 或者我給⼀個 函 ...
  • Hadoop大數據部署 一. 系統環境配置: 1. 關閉防火牆,selinux 關閉防火牆: 設置selinux為disable 2. 配置ntp時間伺服器 將IP地址換成可用的時間伺服器IP 3. 修改系統限制 4. 創建hadoop用戶 5. 配置hosts 6. 分發公鑰 保證某一個節點上都有 ...
  • fsck 檢查或者修複指定的文件系統,可以是設備名、掛載點,還可以是一個ext2的label,或者是一個UUID。此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。 1、語法 fsck [選項] –t systype device fsc ...
  • 一.Tomcat介紹 Tomcat 伺服器是一個免費的開放源代碼的Web 應用伺服器,屬於輕量級應用伺服器,在中小型系統和併發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP 程式的首選。對於一個初學者來說,可以這樣認為,當在一臺機器上配置好Apache 伺服器,可利用它響應HTML(標準通用 ...
  • 最近工作中常常要改nginx配置,學習了nginx中rewrite的用法 URL跳轉這裡說的URL跳轉就是用戶在訪問一個URL時將其跳轉到另一個URL上。常見的應用場景是讓多個功能變數名稱跳轉到同一個URL上,(例如讓舊功能變數名稱跳轉到新功能變數名稱上)將靜態文件請求跳轉到cdn上等根據用戶設備跳轉到不同站點(pc版,w ...
  • 快捷命令 :alias chaoyang ='cd /usr/lib/uu/hh/lib' 1、將上述設置寫到家目錄的.bashrc文件中(~/.bashrc) 2、然後source ./bashrc 讓配置生效 3、最後我們輸入設置的chaoyang(這個名字自己設置)就可以快速進入設置的長目錄了 ...
  • 一、ps命令介紹 ps命令是Process Status的縮寫,用於查看系統進程狀態,ps命令輸出值非常多,通常結合管道符使用。 二、實例 1.我們直接輸入ps命令,不加任何參數。 可以看到預設輸出4列信息 PID: 運行著的命令(CMD)的進程編號TTY: 命令所運行的位置(終端)TIME: 運行 ...
  • 如題,作為一名兼職運維的開發,看到系統記憶體一直上升有點憂愁,搜了一下清理記憶體 && 寫了個簡單腳本,如果需要定時處理,請使用crontab 定時器。 #!/bin/bash # log文件存放路徑 baseDir="/data/logs/crond" # log文件名 fileName="clear ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...