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