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