相關主題
商品描述
本書主要講解Linux企業級系統運維,共9個項目,包括安裝和批量部署Linux服務器操作系統、系統配置管理進階、部署LAMP與LNMP平臺、反向代理與Web負載均衡、文件同步、MySQL數據庫企業級部署、部署高可用集群、系統監控與日誌管理和分析,以及系統自動化運維。
本書內容豐富,註重實踐性和可操作性,針對知識點設計相應的實驗操作示範,便於讀者快速上手。
本書可作為高等院校、職業院校計算機相關專業的教材,也可作為Linux系統運維人員的參考用書,以及各類培訓班的教材。
作者簡介
龔雄濤,湖北職業技術學院教授。在教學方面,主講《操作系統》《數據庫技術》等多門專業核心課程,註重理論與實踐相結合,以生動的教學方法和豐富的行業經驗,激發了學生對信息技術的濃厚興趣。在行業實踐上,龔老師擁有豐富的項目開發經驗,尤其在操作系統管理與系統集成方面積累了寶貴經驗。其將行業前沿技術融入教學,有效提升了學生的專業技能與創新能力,為信息技術領域輸送了大量優秀人才。
目錄大綱
項目1 安裝和批量部署Linux服務器操作系統 1
任務1.1 手動安裝Linux服務器操作系統 1
任務說明 1
知識引入 1
1.1.1 為什麼要學習Linux系統運維 1
1.1.2 Linux服務器操作系統版本 2
任務實現 3
任務1.1.1 安裝CentOS Stream 9操作系統 3
任務1.1.2 安裝openEuler操作系統 6
任務1.1.3 安裝Ubuntu服務器操作系統 8
任務1.2 批量自動安裝Linux服務器操作系統 12
任務說明 12
知識引入 12
1.2.1 PXE 12
1.2.2 Kickstart 13
1.2.3 Cobbler 14
任務實現 15
任務1.2.1 部署Cobbler服務器 15
任務1.2.2 測試基於Cobbler自動安裝操作系統 19
任務1.2.3 基於Cobbler批量自動部署操作系統 22
項目實訓 25
項目實訓1 安裝統信UOS服務器操作系統 25
項目實訓2 部署Cobbler服務器並測試操作系統的安裝 26
項目總結 26
項目2 系統配置管理進階 27
任務2.1 遠程管理Linux服務器 27
任務說明 27
知識引入 28
2.1.1 SSH協議 28
2.1.2 遠程桌面協議 28
2.1.3 基於Web的遠程管理工具 29
任務實現 29
任務2.1.1 使用SSH遠程管理服務器 29
任務2.1.2 在Linux服務器之間實現SSH互信 30
任務2.1.3 使用Cockpit基於Web界面管理服務器 32
任務2.2 管理Linux系統和服務 34
任務說明 34
知識引入 34
2.2.1 systemd與系統初始化 34
2.2.2 單元與單元文件 34
2.2.3 目標和運行級別 35
2.2.4 systemd命令 36
任務實現 36
任務2.2.1 考察systemd單元文件 36
任務2.2.2 使用systemd管理服務 37
任務2.2.3 使用systemd管理系統啟動 39
任務2.3 配置防火墻和SELinux 40
任務說明 40
知識引入 40
2.3.1 Linux的防火墻架構 40
2.3.2 firewalld基礎 41
2.3.3 SELinux架構 43
任務實現 44
任務2.3.1 為firewalld防火墻設置常規規則 44
任務2.3.2 為firewalld防火墻設置富規則 46
任務2.3.3 啟用SELinux 47
任務2.3.4 配置SELinux策略 48
項目實訓 50
項目實訓1 在兩臺CentOS Stream 9服務器之間配置SSH互信 50
項目實訓2 使用systemd管理防火墻(firewalld) 50
項目實訓3 配置UFW 51
項目總結 51
項目3 部署LAMP與LNMP平臺 52
任務3.1 部署LAMP平臺 52
任務說明 52
知識引入 53
3.1.1 LAMP平臺 53
3.1.2 Apache服務器配置文件 54
3.1.3 HTTPS與SSL協議 55
3.1.4 MySQL和MariaDB數據庫 56
3.1.5 PHP與PHP-FPM 56
任務實現 57
任務3.1.1 安裝並運行Apache 57
任務3.1.2 熟悉Apache的基本配置 58
任務3.1.3 基於Apache配置虛擬主機 60
任務3.1.4 為Apache服務器配置SSL以實現HTTPS訪問 64
任務3.1.5 部署MySQL服務器 67
任務3.1.6 安裝並配置PHP 68
任務3.1.7 使用phpMyAdmin管理MySQL 70
任務3.2 部署LNMP平臺 71
任務說明 71
知識引入 71
3.2.1 LNMP平臺 71
3.2.2 Nginx服務器配置文件 72
任務實現 74
任務3.2.1 安裝並運行Nginx 74
任務3.2.2 熟悉Nginx的基本配置 75
任務3.2.3 基於Nginx配置虛擬主機 77
任務3.2.4 為Nginx配置HTTPS訪問 78
任務3.2.5 整合MySQL和PHP以搭建LNMP平臺 78
項目實訓 80
項目實訓1 在Ubuntu服務器上部署LAMP平臺 80
項目實訓2 基於Nginx配置基於名稱的虛擬主機 81
項目實訓3 在openEuler服務器上部署LNMP平臺 81
項目總結 81
項目4 反向代理與Web負載均衡 82
任務4.1 基於Nginx實現反向代理 82
任務說明 82
知識引入 83
4.1.1 什麼是代理服務 83
4.1.2 Nginx的反向代理配置 84
任務實現 85
任務4.1.1 基於Nginx實現簡單的反向代理 85
任務4.1.2 使用audit2allow解決SELinux策略導致的訪問被拒絕問題 86
任務4.1.3 基於Nginx實現反向代理緩存 88
任務4.2 基於Nginx實現Web負載均衡 89
任務說明 89
知識引入 89
4.2.1 什麼是服務器集群 89
4.2.2 什麼是負載均衡 90
4.2.3 Web負載均衡的實現技術 90
4.2.4 Nginx的負載均衡配置 91
任務實現 92
任務4.2.1 基於Nginx實現簡單的Web負載均衡 92
任務4.2.2 基於Nginx實現動靜分離 94
任務4.3 基於LVS實現Web負載均衡 95
任務說明 95
知識引入 96
4.3.1 LVS的體系結構 96
4.3.2 LVS集群 96
4.3.3 LVS的工作模式和調度算法 97
4.3.4 LVS的配置管理 99
任務實現 99
任務4.3.1 基於LVS NAT模式實現Web負載均衡 99
任務4.3.2 基於LVS DR模式實現Web負載均衡 102
任務4.3.3 基於LVS TUN模式實現Web負載均衡 104
項目實訓 106
項目實訓1 在openEuler服務器上部署Nginx負載均衡器 106
項目實訓2 在openEuler服務器上實現LVS DR模式的Web負載均衡 107
項目總結 107
項目5 文件同步 108
任務5.1 基於rsync實現文件同步 108
任務說明 108
知識引入 108
5.1.1 rsync的特點 108
5.1.2 rsync的用法 109
任務實現 110
任務5.1.1 實現遠程文件同步 110
任務5.1.2 實現文件定時同步 113
任務5.2 實現文件實時同步 113
任務說明 113
知識引入 114
5.2.1 rsync結合inotify的文件實時同步解決方案 114
5.2.2 rsync結合sersync的文件實時同步解決方案 114
任務實現 114
基於sersync和rsync實現文件實時同步 114
項目實訓 117
項目實訓1 基於rsync實現遠程文件同步 117
項目實訓2 基於sersync和rsync實現Web網站實時鏡像 117
項目總結 118
項目6 MySQL數據庫企業級部署 119
任務6.1 MySQL數據庫備份與恢覆 119
任務說明 119
知識引入 120
6.1.1 全量備份與增量備份 120
6.1.2 邏輯備份與物理備份 120
6.1.3 XtraBackup備份工具 121
6.1.4 XtraBackup的工作機制 121
任務實現 122
任務6.1.1 使用mysqldump工具實現邏輯備份和恢覆 122
任務6.1.2 使用XtraBackup工具實現全量備份和恢覆 124
任務6.1.3 使用XtraBackup工具實現增量備份和恢覆 127
任務6.2 部署MySQL主從覆制集群 130
任務說明 130
知識引入 130
6.2.1 MySQL主從覆制的實現機制 130
6.2.2 MySQL主從覆制的應用 131
任務實現 132
組建MySQL主從覆制集群 132
任務6.3 MySQL讀寫分離與負載均衡 136
任務說明 136
知識引入 137
6.3.1 MySQL讀寫分離 137
6.3.2 MySQL負載均衡 137
6.3.3 MaxScale 137
任務實現 138
任務6.3.1 基於MaxScale實現MySQL讀寫分離 138
任務6.3.2 基於MaxScale實現MySQL負載均衡 142
項目實訓 146
項目實訓1 使用XtraBackup工具實現全量備份和恢覆 146
項目實訓2 配置MariaDB主從覆制集群 146
項目總結 146
項目7 部署高可用集群 147
任務7.1 部署基本的Keepalived高可用集群 147
任務說明 147
知識引入 148
7.1.1 Keepalived的功能和應用場景 148
7.1.2 Keepalived的工作機制 148
7.1.3 Keepalived的配置文件 149
任務實現 150
任務7.1.1 部署Keepalived主備架構高可用集群 150
任務7.1.2 部署Keepalived雙主架構高可用集群 153
任務7.2 基於LVS和Keepalived實現高可用負載均衡 155
任務說明 155
知識引入 155
7.2.1 LVS與Keepalived的組合 155
7.2.2 Keepalived的LVS配置 155
7.2.3 Keepalived的健康檢查 156
任務實現 157
任務7.2.1 規劃高可用LVS負載均衡集群 157
任務7.2.2 部署高可用LVS負載均衡集群 158
任務7.2.3 測試高可用LVS負載均衡集群 161
任務7.3 基於HAProxy和Keepalived實現高可用負載均衡 162
任務說明 162
知識引入 163
7.3.1 HAProxy概述 163
7.3.2 VRRP腳本配置 164
任務實現 165
任務7.3.1 部署主備架構的高可用HAProxy負載均衡集群 165
任務7.3.2 部署雙主架構的高可用HAProxy負載均衡集群 168
任務7.4 基於Keepalived部署高可用MySQL集群 171
任務說明 171
知識引入 172
7.4.1 MySQL高可用解決方案 172
7.4.2 基於Keepalived的MySQL高可用解決方案 172
7.4.3 Keepalived的非搶占模式 173
7.4.4 進一步了解雙主覆制架構的MySQL主從覆制 173
任務實現 174
任務7.4.1 規劃基於Keepalived的MySQL高可用集群 174
任務7.4.2 配置雙主覆制架構的MySQL主從覆制 174
任務7.4.3 使用Keepalived實現MySQL雙機的高可用 176
任務7.4.4 在高可用集群中加入MySQL從服務器 179
項目實訓 180
項目實訓1 部署主備架構的高可用Nginx負載均衡集群 180
項目實訓2 部署雙主架構的高可用Nginx負載均衡集群 180
項目總結 181
項目8 系統監控與日誌管理和分析 182
任務8.1 基於Zabbix實現系統監控 182
任務說明 182
知識引入 183
8.1.1 Linux系統監控概述 183
8.1.2 Zabbix的主要特性 183
8.1.3 Zabbix的基本架構 184
8.1.4 Zabbix的主動和被動監控模式 184
任務實現 185
任務8.1.1 部署Zabbix監控平臺 185
任務8.1.2 將被監控主機納入Zabbix監控平臺進行管理 187
任務8.1.3 使用Zabbix進行系統監控 190
任務8.1.4 配置並使用郵件告警 192
任務8.1.5 實現被監控主機的自動納管 195
任務8.2 部署ELK日誌管理和分析平臺 199
任務說明 199
知識引入 199
8.2.1 什麼是ELK棧 199
8.2.2 ELK棧的架構 200
8.2.3 ELK棧的應用 200
任務實現 201
任務8.2.1 規劃ELK日誌管理和分析平臺 201
任務8.2.2 部署Elasticsearch 201
任務8.2.3 部署Kibana 203
任務8.2.4 部署Logstash 205
任務8.2.5 通過Kibana查看和分析日誌 209
項目實訓 211
項目實訓1 使用Zabbix監控MySQL服務器 211
項目實訓2 為ELK平臺部署Filebeat收集日誌數據 211
項目總結 212
項目9 系統自動化運維 213
任務9.1 編寫腳本實現系統自動化運維 213
任務說明 213
知識引入 214
9.1.1 Linux自動化運維的基本工具Shell腳本 214
9.1.2 適合自動化運維的Python腳本 215
任務實現 217
任務9.1.1 編寫Shell腳本一鍵安裝JDK 217
任務9.1.2 編寫Python腳本監控Linux系統性能 219
任務9.2 基於Ansible實現系統自動化運維 223
任務說明 223
知識引入 223
9.2.1 Ansible的特點 223
9.2.2 Ansible的應用 224
9.2.3 Ansible的基本架構 224
9.2.4 清單文件 225
9.2.5 Ansible的模塊 226
9.2.6 即席命令 227
9.2.7 Playbook 227
任務實現 230
任務9.2.1 使用Ansible在目標主機上執行Shell腳本 230
任務9.2.2 使用Playbook配置系統時鐘同步 232
任務9.2.3 使用Ansible批量部署Zabbix代理 234
任務9.3 AI賦能Linux系統運維 237
任務說明 237
知識引入 238
9.3.1 AIGC與AI助手 238
9.3.2 AIOps 239
任務實現 240
任務9.3.1 在Linux的日常系統運維中使用AI助手 240
任務9.3.2 使用AI代碼助手輔助編寫Linux系統運維程序 244
項目實訓 247
項目實訓1 編寫Shell腳本實現一鍵安裝LAMP平臺 247
項目實訓2 使用Playbook批量更改Linux系統環境配置 248
項目實訓3 體驗AI助手在Linux系統運維中的應用 248
項目總結 249
