Linux操作系統(tǒng)自誕生以來,就得到了國內外開源愛好者與產業(yè)界的持續(xù)關注和投入。近年來,Linux操作系統(tǒng)在云計算、大數(shù)據(jù)、人工智能、自主可控等領域得到了廣泛的應用。越來越多的行業(yè)開始利用Linux操作系統(tǒng)作為信息技術的基礎平臺或利用Linux操作系統(tǒng)進行產品開發(fā)。Linux操作系統(tǒng)已經成為信息化的基礎,更是IT從業(yè)者的必備技能。
1.創(chuàng)作理念
(1)關注Linux操作系統(tǒng)應用,尋求最佳實施路徑。本書拋棄“大而全”的知識點講解,更多地關注如何把Linux操作系統(tǒng)的技術與知識放置于企業(yè)實踐之中來學習與掌握。本書在選擇Linux操作系統(tǒng)項目案例時,精心設計了最合理、最易理解的方案來部署實施,可有效地幫助讀者掌握更規(guī)范、更清晰的操作流程,讓讀者學得會、做得成。
(2)以項目為驅動,以任務為抓手,注重工程實踐。本書所有章節(jié)均以項目形式展開,每個項目中包含若干子任務。所有項目任務均經過精心設計,并且配有項目講堂和任務擴展,使讀者在學習過程中更有針對性,更容易與實際應用相結合,從而幫助讀者快速達到企業(yè)級環(huán)境的應用水平。
(3)基于CentOS 8設計項目,關注企業(yè)級應用。本書使用的CentOS 8作為基礎環(huán)境,是當前最新的Linux發(fā)行版,廣泛應用于企業(yè)級環(huán)境。其高效且簡潔的管理、穩(wěn)定且安全的環(huán)境,可幫助讀者緊跟技術發(fā)展趨勢,熟練快捷地掌握其操作方法。
(4)提供多媒體輔助操作教程。除了傳統(tǒng)的圖文方式,我們還注重以多媒體視頻的方式與讀者交流。本書的每個項目中均包含實際操作二維碼。讀者可通過掃描二維碼快速查看本項目(任務)的操作視頻教程及其自動化部署腳本,獲取更加詳細的操作講解,避免操作迷茫,從而幫助讀者更好地開展學習。
2.內容設計
本書精心設計了13個項目,內容包含Linux基礎、Linux服務器應用、Linux安全管理、Linux運維,可以說,本書涵蓋了Linux操作系統(tǒng)的主要應用場景、關鍵技術和工程實踐。
項目一—項目二,掌握Linux基礎,實現(xiàn)Linux系統(tǒng)安裝、網(wǎng)絡配置、遠程管理以及常用的操作命令,幫助讀者快速構建本書的學習和實踐環(huán)境。
項目三—項目十,實現(xiàn)Linux服務器應用,內容包括網(wǎng)站服務器、代理服務器、數(shù)據(jù)庫服務器、文件服務器、域名服務器、虛擬化服務器和容器服務器,涵蓋Linux服務器應用的主要場景。
項目十一,關注Linux安全管理,內容包括SELinux、Firewalld防火墻和Nmap安全審計工具,旨在提升Linux操作系統(tǒng)的安全性和可靠性。
項目十二—項目十三,關注Linux運維管理,內容包括系統(tǒng)監(jiān)控和通過Web管理Linux,實現(xiàn)Linux操作系統(tǒng)的命令監(jiān)控、實時監(jiān)控、可視化監(jiān)控和構建監(jiān)控管理系統(tǒng),并借助Cockpit工具實現(xiàn)基于Web的系統(tǒng)維護、網(wǎng)絡與安全管理、容器管理,旨在提升Linux操作系統(tǒng)的運維管理水平。
本書撰寫時均使用最新版本軟件,讀者可使用本書指定版本軟件,也可使用官方最新版軟件。鑒于開源軟件管理的多樣性,部分軟件的官方可能對舊版本不支持,建議讀者針對此種情況,選擇最新版本開展學習。
3.適用對象
本書適用于以下兩類讀者。
一是從事Linux系統(tǒng)運維與管理的初級以及中級專業(yè)技術人員。本書可以幫助他們全面理解Linux操作系統(tǒng)的應用場景,熟悉Linux服務器的構建技術,快速掌握相應的工程實現(xiàn)方法,為后續(xù)工作開展打下扎實基礎,更能夠成為日常工作的備查手冊。
二是高等院校計算機相關專業(yè),特別是大數(shù)據(jù)、人工智能、物聯(lián)網(wǎng)、網(wǎng)絡工程、網(wǎng)絡運維等專業(yè)的、具有一定Linux基礎的在校學生。本書可以幫助他們加深對Linux操作系統(tǒng)的理解,解決原本似是而非的技術問題,提升實踐操作的綜合能力,真正的學會Linux操作系統(tǒng)的應用。
4.真誠感謝
本書是在新冠疫情防控的特殊時期撰寫的,能順利撰寫完畢,離不開家人們的默默支持,使我們能全身心投入到本書的編寫中,對于他們,內心充滿了感謝和愧疚。同時,感謝王少鵬、朱冠旭對本書中任務講解視頻進行錄制和處理,并撰寫了自動化部署腳本。
本書編寫完成后,中國水利水電出版社萬水分社周春元副總經理對本書的出版給予了中肯的指導和積極的幫助,在此表示深深的謝意!
由于我們的水平有限,疏漏及不足之處在所難免,敬請廣大讀者朋友批評指正。
前言
項目一 初識Linux
項目介紹 1
項目目的 1
項目講堂 1
任務一 安裝VirtualBox桌面虛擬化 5
【任務目標】 5
【操作步驟】 5
任務二 安裝CentOS 8實現(xiàn)桌面應用 7
【任務目標】 7
【操作步驟】 8
任務三 讓Linux接入互聯(lián)網(wǎng) 15
【任務目標】 15
【操作步驟】 15
【任務擴展】 20
任務四 安裝CentOS實現(xiàn)服務器應用 22
【任務目標】 22
【操作步驟】 23
任務五 通過安全的SSH遠程管理CentOS 26
【任務目標】 27
【操作步驟】 27
任務六 使用移動設備遠程管理CentOS 28
【任務目標】 29
【操作步驟】 29
任務七 虛擬機復制 30
【任務目標】 30
【操作步驟】 30
項目二 Linux的基本管理
項目介紹 32
項目目的 32
項目講堂 32
任務一 系統(tǒng)的基本配置 35
【任務目標】 35
【操作步驟】 35
【項目擴展】 43
任務二 查看系統(tǒng)信息 45
【任務目標】 45
【操作步驟】 45
任務三 用戶和權限的操作 52
【任務目標】 52
【操作步驟】 52
任務四 文件目錄的操作 60
【任務目標】 60
【操作步驟】 60
任務五 文本處理 66
【任務目標】 66
【操作步驟】 66
任務六 通過vi實現(xiàn)文本處理 78
【任務目標】 78
【操作步驟】 78
任務七 磁盤管理 86
【任務目標】 86
【操作步驟】 86
【任務擴展】 94
任務八 網(wǎng)絡配置 96
【任務目標】 96
【操作步驟】 97
項目三 使用Apache實現(xiàn)網(wǎng)站服務
項目介紹 103
項目目的 103
項目講堂 103
任務一 安裝Apache 106
任務二 使用Apache發(fā)布靜態(tài)網(wǎng)站 111
任務三 實現(xiàn)LAMP的部署和測試 119
任務四 通過WordPress建設內容網(wǎng)站 125
任務五 提升Apache的安全性 132
項目四 使用Nginx實現(xiàn)代理服務
任務一 安裝Nginx 142
任務二 使用Nginx實現(xiàn)反向代理 145
任務三 使用Nginx實現(xiàn)網(wǎng)站負載均衡 151
任務四 提升Nginx的安全性 157
任務五 使用Apache Proxy實現(xiàn)負載均衡 165
項目五 使用MariaDB實現(xiàn)數(shù)據(jù)庫服務
任務一 安裝MariaDB 173
任務二 使用phpMyAdmin管理MariaDB 181
任務三 通過MySQL Workbench管理MariaDB 190
任務四 通過主從集群實現(xiàn)MariaDB的高可用 197
項目六 使用MongoDB實現(xiàn)數(shù)據(jù)庫服務
項目介紹 203
項目目的 203
項目講堂 203
任務一 安裝MongoDB 207
任務二 遠程管理MongoDB 212
任務三 實現(xiàn)MongoDB高可用 223
任務四 MongoDB監(jiān)控 238
項目七 實現(xiàn)文件服務
任務一 搭建FTP服務器 248
任務二 構建企業(yè)內部的FTP服務 254
任務三 搭建NFS服務器 262
任務四 構建工作組內的網(wǎng)絡共享存儲服務 269
任務五 搭建Samba服務器 273
任務六 構建面向全終端的文件共享服務 281
項目八 實現(xiàn)域名解析服務
項目介紹 288
項目目的 288
項目講堂 288
任務一 安裝BIND 291
任務二 使用BIND實現(xiàn)DNS查詢服務 295
任務三 使用BIND實現(xiàn)域名解析服務 299
任務四 使用BIND實現(xiàn)智能解析 307
任務五 域名解析服務的高可靠性 317
項目九 使用KVM實現(xiàn)虛擬化
項目介紹 336
項目目的 336
項目講堂 336
任務一 安裝KVM 340
任務二 配置宿主機網(wǎng)絡 346
任務三 創(chuàng)建KVM虛擬機 350
任務四 管理KVM虛擬機 357
任務五 維護KVM虛擬機 366
項目十 使用Docker實現(xiàn)容器
項目介紹 336
項目目的 336
項目講堂 336
任務一 安裝Docker 374
任務二 使用Docker創(chuàng)建新的鏡像 381
任務三 使用Docker發(fā)布PHP程序 390
任務四 使用Docker Compose發(fā)布業(yè)務 394
任務五 使用cAdvisor監(jiān)控Docker性能 399
項目十一 CentOS的系統(tǒng)安全
項目介紹 404
項目目的 404
項目講堂 404
任務一 使用SELinux提升內核安全性 408
任務二 使用Firewalld提升系統(tǒng)安全性 418
任務三 使用Nmap進行安全檢測 428
任務四 對網(wǎng)站服務器與網(wǎng)站業(yè)務進行安全評估 435
項目十二 CentOS的系統(tǒng)監(jiān)控
項目介紹 443
項目目的 443
項目講堂 443
任務一 內存與緩存監(jiān)控 444
任務二 CPU監(jiān)控 450
任務三 網(wǎng)絡與通信行為監(jiān)控 454
任務四 磁盤與IO監(jiān)控 463
任務五 進程監(jiān)控與管理 473
任務六 系統(tǒng)綜合監(jiān)控 480
任務七 使用Linux-dash實現(xiàn)可視化監(jiān)控 495
項目十三 通過Web管理CentOS
項目介紹 507
項目目的 507
項目講堂 507
任務一 通過Cockpit實現(xiàn)CentOS的Web管理 509
任務二 通過Cockpit進行系統(tǒng)維護 516
任務三 通過Cockpit管理網(wǎng)絡與安全 524
任務四 通過Cockpit管理Docker 532
任務五 管理更多的CentOS服務器 535
附錄1 虛擬機規(guī)劃表 543
附錄2 網(wǎng)絡配置工具 547