Linux系統的服務——以Centos7為例

一、Linux系統的服務簡介

????????服務是向外部提供對應功能的進程,其運行在系統后臺,能夠7*24小時持續不斷的提供外界隨時發來的服務請求,且服務進程常駐在內存中,具有固定的端口號,通過端口號就能找到服務內容。

????????提供服務的一端叫做服務端,向服務端發送請求內容的叫做客戶端,具體的流程為:

1、首先服務器端啟動服務進程,服務進程正常運行后會開放對應的固定端口號(比如80、8080、5000等端口);

2、然后客戶端向服務端對應的(IP:服務端口)發起請求;

3、服務端所在主機的內核接收到客戶發送來的請求數據包,系統內核會分析數據包內容(識別請求的端口號后,內核會對應到該該端口號對應的服務程序,系統內核會將客戶端發送來的請求報文內容發送給對應的服務程序,服務程序收到報文后,就會與客戶端建立連接處理對應的內容,并進行數據傳輸工作。

????????在Linux中,服務分為【獨立守護進程】和超【級守護進程(瞬時守護進程)】;獨立守護進程是指(自行在后臺實時監聽客戶端發送來的請求內容并進行處理,基本上所有的服務都是獨立守護進程類的服務)。超級守護進程是專指xinetd這個服務,這個服務代為管理著一些特殊的系統服務,這類服務只有在被請求的時候才會由xinetd通知它啟動對應服務,服務提供處理工作完成后就關閉服務,這類服務稱為瞬時守護進程,即存在的時間非常短暫。

????????簡單的說【服務是類指那些在系統后臺持續運行并提供基本功能,常駐內存中(如網絡連接、SSH登錄、日志管理等功能)的程序】。

二、Linux服務的常用操作_Centos7及其更高版本

2.1、列出Linux所有服務和狀態

1、查看Linux系統中的所有服務

systemctl list-units --type service --all

2、查看Linux系統所有服務的開機自啟動狀態命令:

systemctl list-unit-files

3、查看所有已經激活的服務命令

systemctl list-units --type service

2.2、查看服務狀態

????????比如我這里查看httpd服務狀態,其中狀態(Active:active(running)表示已經啟動運行中);Active:inactive(dead)表示停止):?

systemctl status 服務名稱 

systemctl status 服務名稱.service 

查看服務是否在運行中命令:

systemctl is-active 服務名稱

2.3、啟動服務

systemctl start 服務名稱

????????比如我這里重啟httpd服務,且查看啟動后的狀態(Active:active(running)表示已經啟動運行中):??

systemctl start 服務名稱.service

2.4、停止服務

systemctl stop 服務名稱

????????比如我這里停止httpd服務,且查看停止后的狀態(Active:inactive(dead)表示停止):??

systemctl stop 服務名稱.service

2.5、重啟服務

systemctl restart 服務名稱

????????比如我這里重啟httpd服務,且查看重啟后的狀態(Active:active(running)表示已經啟動運行中):?

 systemctl restart 服務名稱.service

2.6、設置服務開機自啟

systemctl enable 服務名稱
systemctl enable 服務名稱.service

任選這2個命令中的一個就可以;需要注意的是:設置服務開啟自啟后如果要驗證的話,需要重啟服務器后再查看服務狀態為?(Active:active(running))即為設置服務開機自啟成功。

如下是立即重啟Linux服務器的命令:?

reboot -h now

查看服務是否開機自動啟動(enabled表示已經啟動)?

systemctl is-enabled 服務名稱

2.7、禁用服務開機自啟

systemctl disable httpd
systemctl disable 服務名稱.service

任選這2個命令中的一個就可以;需要注意的是:禁用服務開啟自啟后如果要驗證的話,需要重啟服務器后再查看服務狀態為?(Active:inactive(dead)表示停止)即為禁用服務開機自啟成功。

?

三、服務的配置文件

????????對于支持 systemd 的程序,在安裝該軟件的時候,會自動的在 【/usr/lib/systemd/system?】目錄添加一個關于該程序的服務配置文件(比如:我使用【yum install httpd -y】安裝了該程序,我們可以使用【cat /usr/lib/systemd/system/httpd.service】命令查看到該程序的服務配置文件內容),如下圖所示:

在我們給httpd服務設置了開機自啟【systemctl enable httpd】命令后,可以看到在【/etc/systemd/system/multi-user.target.wants/】 目錄下添加了該程序的符號鏈接,這個鏈接指向【/usr/lib/systemd/system?】里面的【httpd.service】文件

在設置了服務的開機啟動命令后,需要等下一次開機的時候,才會自動行 【/etc/systemd/system/】?目錄中的文件服務;可以通過【systemctl is-enabled httpd】命令查看服務是否設置開機自動啟動,如下圖所示:

注意:【/etc/systemd/system/】是管理員根據需求建立的執行腳本,也可以理解為是【/usr/lib/systemd/system/】的連接映射。

3.1、systemctl

????????在 Centos7 之前是使用 service 進行服務的管理,雖然service使用起來簡單,但對于每一個服務,都需要我們人為手動的編寫對應腳本文件來控制服務相關的啟動、停止、重啟等操作,服務控制得好壞,完全依賴于編寫腳本的人,這樣的話對于服務來說不是很穩定,對于管理服務的人員也不友好。

????????為了解決service帶來的服務不穩定,對管理服務人員不友好等問題,在 Centos7 中采用了新的【systemctl】服務管理工具,systemctl使用固定規范格式的腳本內容來控制服務的啟動、停止等相關操作,使得服務的管理變得簡單了很多(即:對服務的啟動、停止、重啟、開機自啟等操作只需要一條命令就可實現)

?3.2、systemd

面向管理員的 systemd,第 III 部分 (0pointer.de)icon-default.png?t=N7T8https://0pointer.de/blog/projects/systemd-for-admins-3.htmlsystemd.unit (0pointer.de)icon-default.png?t=N7T8https://0pointer.de/public/systemd-man/systemd.unit.htmlsystemd.service (0pointer.de)icon-default.png?t=N7T8https://0pointer.de/public/systemd-man/systemd.service.html

systemd 基礎知識簡介 (suse.com)icon-default.png?t=N7T8https://documentation.suse.com/smart/systems-management/html/systemd-basics/index.html

?

?

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/41632.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/41632.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/41632.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【PB案例學習筆記】-27制作一個控制任務欄顯示與隱藏的小程序

寫在前面 這是PB案例學習筆記系列文章的第27篇,該系列文章適合具有一定PB基礎的讀者。 通過一個個由淺入深的編程實戰案例學習,提高編程技巧,以保證小伙伴們能應付公司的各種開發需求。 文章中設計到的源碼,小凡都上傳到了gite…

柯西施瓦茨不等式證明過程

柯西-施瓦茨不等式(Cauchy-Schwarz Inequality)是數學分析中的一個重要不等式,它在向量空間、內積空間等多個領域都有廣泛應用。對于實數或復數域上的內積空間,柯西-施瓦茨不等式可以表述為: 對于任意向量 u \mathbf…

Android Gradle 開發與應用 (七): Gradle 插件開發與發布

目錄 一、概述 二、Gradle插件的基礎知識 2.1 Gradle插件的定義 2.2 Gradle插件的種類 2.3 Gradle插件的生命周期 三、開發一個Gradle插件 3.1 創建Gradle插件項目 3.2 編寫插件實現 3.3 配置插件元數據 3.4 構建和測試插件 3.5 在項目中應用插件 四、發布Gradle插…

計算機未來大方向的選擇

選專業要了解自己的興趣所在。 即想要學習什么樣的專業,如果有明確的專業意向,就可以有針對性地選擇那些專業實力較強的院校。 2.如果沒有明確的專業意向,可以優先考慮一下院校。 確定一下自己想要選擇綜合性院校還是理工類院校或是像財經或者…

C語言結構體的相關知識

前言 從0開始記錄我的學習歷程,我會盡我所能,寫出最最大白話的文章,希望能夠幫到你,謝謝。 1.結構體類型的概念及定義 1.1、概念: 結構體是一種構造類型的數據結構, 是一種或多種基本類型或構造類型的數…

springboot集成gzip和zip數據壓縮傳輸-滿足2k數據自動壓縮(適用大數據信息傳輸)

文章目錄 1)、springboot的gzip壓縮-滿足2k數據自動壓縮1.1后端壓縮1.2前端解壓1.3 滿足最小響應大小(2KB)和指定MIME類型的響應進行GZIP壓縮yml配置自定義配置或者使用Java配置 2)、gzip壓縮1.1接口使用-數據壓縮發送前端1.2 接口…

Java面試題系列 - 第3天

題目:Java集合框架詳解與高效使用策略 背景說明:Java集合框架是Java標準庫的重要組成部分,提供了一系列容器類,如List、Set、Map等,用于存儲和操作集合數據。熟練掌握集合框架的使用,對于編寫高效、健壯的…

機器學習之神經網絡

簡介 神經網絡(Neural Network)是一種模仿人類大腦的機器學習算法,由一系列相互連接的神經元組成。它能夠自動學習數據的特征和規律,并對新的輸入數據進行預測和分類。 神經網絡作為一種模仿生物大腦機制的機器學習算法,其產生和發展主要源于以下幾個方面的背景: 對人腦認知…

第11章 規劃過程組(二)(11.8排列活動順序)

第11章 規劃過程組(二)11.8排列活動順序,在第三版教材第390~391頁; 文字圖片音頻方式 第一個知識點:主要工具與技術(重要知識點) 1、箭線圖法(ADM) (雙代號網絡圖或活動箭線圖&am…

template配置項詳情——03

<body> // vue.config是vue全局配置對象 // productionTip 屬性可能設置是否生產提示信息 //默認值是&#xff1a;true,如果是false 則表示組織生產提示信息 vue.congfig.productionTip false //指定掛載位置 //注意&#xff1a;以下代碼只有vue框架能夠看懂的代碼。…

windows USB 設備驅動開發- 不同模型下的控制傳輸

在不同的模型下&#xff0c;USB控制傳輸會有不同的特點&#xff0c;但是任何控制傳輸的目標都始終是默認端點。 接收者是設備的實體&#xff0c;其信息&#xff08;描述符、狀態等&#xff09;是主機感興趣的。請求可進一步分為&#xff1a;配置請求、功能請求和狀態請求。 發…

leetcode力扣_雙指針問題

141. 環形鏈表 思路&#xff1a;判斷鏈表中是否有環是經典的算法問題之一。常見的解決方案有多種&#xff0c;其中最經典、有效的一種方法是使用 快慢指針&#xff08;Floyd’s Cycle-Finding Algorithm&#xff09;。 初始化兩個指針&#xff1a;一個快指針&#xff08;fast&…

uni-app 使用Pinia進行全局狀態管理并持久化數據

1.引言 最近在學習移動端的開發&#xff0c;使用uni-app前端應用框架&#xff0c;通過學習B站的視頻以及找了一個開發模板&#xff0c;終于是有了一些心得體會。 B站視頻1&#xff1a;Day1-01-uni-app小兔鮮兒導學視頻_嗶哩嗶哩_bilibili B站視頻2&#xff1a;01-課程和uni的…

JavaScript——for in類型

目錄 任務描述 相關知識 for in型 編程要求 任務描述 蘋果apple有多個屬性表示它的產地&#xff0c;比如locationProvince表示省份&#xff0c;這些屬性都以location開頭&#xff0c;和產地無關的屬性都不以location開頭。 本關任務&#xff1a;完成一個計算蘋果產地的函數…

[FFmpeg] windows下安裝帶gpu加速的ffmpeg

1.顯卡能力排查 目前只有 NIVIDIA 支持 ffmpeg 的 gpu加速(AMD貌似也陸續開始支持)。 在下述網站中查找自己的顯卡能夠支持的編解碼格式。https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-newhttps://developer.nvidia.com/video-encode-and-decod…

Vue88-Vuex中的mapActions、mapMutations

一、mapMutations的調用 此時結果不對&#xff0c;因為&#xff1a;若是點擊事件不傳值&#xff0c;默認傳的是event&#xff01;&#xff0c;所以&#xff0c;修改如下&#xff1a; 解決方式1&#xff1a; 解決方式2&#xff1a; 不推薦&#xff0c;寫法麻煩&#xff01; 1-…

【Unity數據交互】二進制私

&#x1f468;?&#x1f4bb;個人主頁&#xff1a;元宇宙-秩沅 &#x1f468;?&#x1f4bb; hallo 歡迎 點贊&#x1f44d; 收藏? 留言&#x1f4dd; 加關注?! &#x1f468;?&#x1f4bb; 本文由 秩沅 原創 &#x1f468;?&#x1f4bb; 專欄交流&#x1f9e7;&…

Bootstrap 5 小工具

Bootstrap 5 小工具 Bootstrap 5 是一個流行的前端框架,它提供了一系列的工具和組件,幫助開發者快速構建響應式和移動優先的網頁。在本文中,我們將探討 Bootstrap 5 中的一些實用小工具,這些工具可以極大地提高開發效率和用戶體驗。 1. 網格系統 Bootstrap 5 的網格系統…

Laravel 宏指令(Macro)動態添加自定義方法到Laravel的核心組件中

Laravel 宏指令&#xff08;Macro&#xff09; 在Laravel中&#xff0c;宏指令&#xff08;Macro&#xff09;是一種靈活的方式&#xff0c;允許您動態添加自定義方法到Laravel的核心組件中&#xff0c;如模型、查詢構建器、集合等&#xff0c;以便在不改變核心代碼的情況下擴展…

電腦硬盤分區的基本步驟(2個實用的硬盤分區方法)

在現代計算機中&#xff0c;硬盤分區是非常重要的一步。無論是新硬盤的初始化&#xff0c;還是重新組織現有硬盤&#xff0c;分區都是必不可少的操作。本文將詳細介紹電腦硬盤分區的基本步驟&#xff0c;幫助您更好地管理和利用硬盤空間。 文章開始&#xff0c;我們先簡單說一…