目錄
第一篇 基礎知識篇
第1章 學習Linux的經驗與技巧 3
1.1 Linux在各領域發展的現狀與趨勢 4
1.1.1 Linux與開源軟件 4
1.1.2 Linux在服務器領域的發展 4
1.1.3 Linux在桌麵領域的發展 5
1.1.4 Linux在移動嵌入式領域的
發展 5
1.1.5 Linux在雲計算/大數據領域的
發展 5
1.2 選擇適閤自己的Linux發行版 5
1.2.1 常見的Linux發行版 6
1.2.2 初學者入門首選—
CentOS係列 8
1.2.3 桌麵平颱首選—
Ubuntu Linux 9
1.2.4 企業級應用首選—
RHEL/CentOS係列 9
1.3 養成良好的Linux操作習慣 9
1.3.1 一定要習慣命令行方式 10
1.3.2 理論結閤實踐 10
1.3.3 學會使用Linux聯機幫助 10
1.3.4 學會獨立思考問題,獨立
解決問題 11
1.3.5 學習專業英語 11
1.3.6 Linux學習路綫圖 11
1.4 用虛擬機技術學習Linux 13
1.4.1 虛擬機技術 13
1.4.2 使用虛擬機技術的好處 13
1.4.3 虛擬機的運行環境和硬件需求 13
1.4.4 虛擬機的安裝與使用 14
1.5 Linux學習資源 20
1.5.1 網絡資源、搜索引擎、論壇 20
1.5.2 有本書在身邊 20
第2章 Linux係統的安裝與基礎配置 21
2.1 安裝需求 22
2.2 Linux的幾種安裝方式 22
2.2.1 硬盤安裝方式 22
2.2.2 U盤安裝方式 23
2.2.3 網絡安裝方式 23
2.2.4 光驅安裝方式 23
2.3 光驅安裝過程 24
2.3.1 分區命名方案 24
2.3.2 開始安裝 25
2.4 U盤安裝過程 44
第3章 Linux係統基本結構 47
3.1 Linux控製颱的使用 48
3.2 係統與硬件 48
3.2.1 Linux硬件資源管理 48
3.2.2 Linux外在設備的使用 53
3.3 文件係統結構介紹 55
3.3.1 目錄結構 55
3.3.2 係統核心組成 60
3.4 運行機製介紹 61
3.4.1 Linux初始化init係統 62
3.4.2 runlevel到target的改變 62
3.4.3 係統關機過程 64
3.5 係統服務管理工具systemd 66
3.5.1 啓動、停止、重啓服務 66
3.5.2 查看、禁止、啓用服務 67
3.5.3 systemd命令和sysvinit命令
對比 68
3.6 Linux與SecureCRT 69
3.6.1 SecureCRT概述 69
3.6.2 SecureCRT的安裝與使用 69
3.6.3 與SecureCRT相關的Linux
命令 70
第4章 Linux常用命令及使用技巧 72
4.1 Linux下的shell簡介 73
4.1.1 什麼是shell 73
4.1.2 shell命令的語法分析 74
4.2 係統管理與維護 80
4.2.1 ls命令 80
4.2.2 pwd命令 82
4.2.3 cd命令 82
4.2.4 date命令 83
4.2.5 passwd命令 84
4.2.6 su命令 85
4.2.7 clear命令 86
4.2.8 man命令 86
4.2.9 who命令 86
4.2.10 w命令 87
4.2.11 uname命令 88
4.2.12 uptime命令 89
4.2.13 last命令 90
4.2.14 dmesg命令 90
4.2.15 free命令 91
4.2.16 ps命令 91
4.2.17 top命令 92
4.3 文件管理與編輯 95
4.3.1 mkdir命令 95
4.3.2 more命令 96
4.3.3 cat命令 97
4.3.4 diff命令 98
4.3.5 grep命令 99
4.3.6 rm命令 100
4.3.7 touch命令 101
4.3.8 ln命令 102
4.3.9 file命令 104
4.3.10 cp命令 105
4.3.11 find命令 105
4.3.12 split命令 108
4.3.13 mv命令 109
4.4 壓縮與解壓 109
4.4.1 zip/unzip命令 109
4.4.2 gzip/gunzip命令 111
4.4.3 bzip2/bunzip2命令 112
4.4.4 tar命令 113
4.4.5 dd命令 116
4.4.6 cpio命令 117
4.5 磁盤管理與維護 118
4.5.1 df命令 118
4.5.2 du命令 119
4.5.3 fsck命令 120
4.5.4 sync命令 122
4.5.5 eject命令 122
4.5.6 mount/umount命令 123
4.6 網絡設置與維護 126
4.6.1 ifconfig命令 126
4.6.2 scp命令 128
4.6.3 netstat命令 129
4.6.4 traceroute命令 131
4.6.5 telnet命令 133
4.6.6 wget命令 134
4.7 文本編輯工具vi 135
第5章 Linux下軟件的安裝與管理 139
5.1 源碼安裝方式 140
5.1.1 下載、解壓源碼 140
5.1.2 分析安裝平颱環境 140
5.1.3 編譯、安裝軟件 141
5.1.4 通過源碼安裝Apache Http
server 142
5.2 RPM包方式安裝 143
5.2.1 RPM介紹 143
5.2.2 RPM包的種類和組成 144
5.2.3 RPM工具的使用 145
5.3 yum安裝方式 156
5.3.1 yum的安裝與配置 157
5.3.2 yum的特點與基本用法 158
5.3.3 幾個不錯的yum源 161
5.4 二進製軟件安裝方式 161
5.4.1 安裝“*.tar.gz、*.bz2”
二進製軟件包 162
5.4.2 提供安裝程序的軟件包 162
第6章 Linux服務器網絡配置 165
6.1 網卡驅動的安裝 166
6.1.1 網卡驅動安裝的一般思路 166
6.1.2 編譯安裝網卡 172
6.2 配置Linux網絡 177
6.2.1 不同Linux發行版的網絡配置文件 177
6.2.2 網絡配置文件詳解 178
6.3 Linux網絡應用 183
6.3.1 Linux下的IP彆名功能 183
6.3.2 開啓Linux代理轉發功能 185
6.3.3 路由的概念與配置 185
6.3.4 Linux路由器的架設 192
第7章 架設Linux服務器 196
7.1 使用OpenSSH遠程管理Linux
服務器 197
7.2 Web服務器的搭建 198
7.2.1 Apache與Tomcat整閤的
必要性 199
7.2.2 Apache和Tomcat連接器 200
7.2.3 Apache與Tomcat以及
JK模塊的安裝 200
7.2.4 Apache與Tomcat整閤配置 202
7.3 LAMP服務器的搭建 217
7.3.1 LAMP與WordPress概述 217
7.3.2 LAMP服務環境的搭建 218
7.3.3 測試LAMP環境安裝的
正確性 226
7.4 DNS服務器的搭建 227
7.4.1 DNS服務器概述 227
7.4.2 DNS服務器的搭建 227
7.5 Samba服務器的搭建 235
7.5.1 Samba的概念和功能 235
7.5.2 Samba的安裝與配置 235
第8章 構建高性能的MySQL數據庫
係統 246
8.1 MySQL與MariaDB 247
8.2 常見的高可用MySQL解決
方案 247
8.2.1 主從復製解決方案 248
8.2.2 MMM高可用解決方案 248
8.2.3 Heartbeat/SAN高可用解決
方案 248
8.2.4 Heartbeat/DRBD高可用解決
方案 249
8.2.5 MySQL Cluster高可用解決
方案 249
8.3 通過Keepalived搭建MySQL
雙主模式的高可用集群係統 249
8.3.1 MySQL復製介紹 249
8.3.2 MySQL復製的實現原理 250
8.3.3 MySQL復製的常用架構 251
8.3.4 MySQL主主互備模式
架構圖 252
8.3.5 MySQL主主互備模式配置 253
8.3.6 配置Keepalived實現MySQL
雙主高可用 257
8.3.7 測試MySQL主從同步功能 260
8.3.8 測試Keepalived實現MySQL
故障切換 261
8.4 通過MMM構建MySQL高可用
集群係統 263
8.4.1 MMM高可用MySQL方案
簡介 263
8.4.2 MMM典型應用方案 264
8.4.3 MMM高可用MySQL方案
架構圖 266
8.4.4 MMM的安裝與配置 267
8.4.5 MMM的管理 271
8.4.6 測試MMM實現MySQL
高可用功能 274
8.5 MySQL讀、寫分離解決方案 277
8.5.1 常見的MySQL讀、寫分離
方案 277
8.5.2 通過Amoeba實現MySQL讀、
寫分離 278
第9章 Linux服務器安全策略 287
9.1 網絡安全概述 288
9.1.1 常見攻擊類型 288
9.1.2 防範攻擊策略 289
9.2 操作係統常用安全策略 290
9.2.1 軟件的升級 290
9.2.2 端口與服務 291
9.2.3 密碼登錄安全 295
9.2.4 其他安全設置 298
9.3 Linux軟件防火牆iptables 301
9.3.1 iptables的使用環境 302
9.3.2 iptables的使用規範與語法 304
9.3.3 防火牆規則的查看與清除 308
9.3.4 製定防火牆規則 309
9.4 Linux係統的備份 315
9.4.1 為何要備份Linux係統 315
9.4.2 Linux係統需要備份的數據 316
9.4.3 備份的介質與方式 316
9.4.4 製定備份策略 318
9.4.5 備份工具的選擇 319
第10章 Linux故障排查思路與案例 325
10.1 Linux下常見係統故障的處理 326
10.1.1 處理Linux係統故障的
思路 326
10.1.2 忘記Linux root密碼 326
10.1.3 Linux係統無法啓動的
解決辦法 329
10.2 Linux下常見網絡故障處理 337
10.3 “Read-only file system”錯誤與
解決案例 342
10.4 通過su命令切換用戶帶來的
睏惑 344
10.5 因NAS存儲故障引起的
Linux係統恢復案例 347
10.5.1 故障現象描述 347
10.5.2 問題判斷思路 347
10.5.3 問題處理過程 348
10.5.4 解決問題 350
第11章 Linux用戶權限管理 353
11.1 用戶與用戶組管理概述 354
11.1.1 用戶與組的概念 354
11.1.2 用戶配置文件概述 355
11.2 用戶管理工具介紹 360
11.2.1 groupadd/newgrp/groupdel
命令 360
11.2.2 useradd/usermod/userdel命令 362
11.3 文件與權限的設定 366
11.3.1 查看文件的權限屬性 366
11.3.2 利用chown改變屬主和
屬組 368
11.3.3 利用chmod改變訪問權限 369
第12章 Linux磁盤存儲管理 372
12.1 磁盤管理的基本概念 373
12.1.1 磁盤設備在Linux下的
錶示方法 373
12.1.2 設備的掛載與使用 374
12.1.3 磁盤分區的劃分標準 375
12.2 利用fdisk工具劃分磁盤分區 377
12.2.1 fdisk參數含義介紹 377
12.2.2 fdisk實例講解 378
12.3 利用parted工具規劃磁盤分區 385
12.3.1 parted簡介 385
12.3.2 parted使用方法 385
12.3.3 parted應用實例 386
12.4 LVM 389
12.4.1 LVM的基本概念 389
12.4.2 LVM中的術語 390
12.4.3 安裝LVM工具 391
12.4.4 LVM的創建與管理 391
第13章 Linux文件係統管理 401
13.1 文件係統概述 402
13.1.1 什麼是文件係統 402
13.1.2 為什麼要使用文件係統 402
13.1.3 文件係統的使用流程 403
13.2 Linux下常用文件係統介紹 404
13.2.1 ext3和ext4文件係統 404
13.2.2 ReiserFS 407
13.2.3 XFS 408
13.3 選擇文件係統的標準 411
13.4 NFS的使用 411
13.4.1 NFS簡介 411
13.4.2 NFS的實現原理 412
13.4.3 NFS的安裝與配置 413
13.5 Linux下常用的數據恢復工具 419
13.5.1 如何使用“rm -rf”命令 419
13.5.2 extundelete與ext3grep的
異同 419
13.5.3 extundelete的恢復原理 419
13.5.4 安裝extundelete 420
13.5.5 extundelete用法詳解 420
13.5.6 實戰:通過extundelete
恢復數據的過程 421
第14章 Linux內存管理 426
14.1 物理內存和虛擬內存 427
14.2 內存的監控 428
14.3 交換空間的使用 430
14.4 查看進程占用內存 432
第15章 Linux係統進程管理 434
15.1 進程的概念和分類 435
15.2 進程的監控與管理 437
15.2.1 利用ps命令監控係統
進程 437
15.2.2 利用pstree監控係統進程 438
15.2.3 利用top監控係統進程 440
15.2.4 利用lsof監控係統進程與
程序 441
15.2.5 利用pgrep查詢進程ID 443
15.3 任務調度進程crond的使用 444
15.3.1 crond簡介 444
15.3.2 crontab工具的使用 445
15.3.3 使用crontab工具的
注意事項 447
15.4 用kill和killall終止進程 448
15.4.1 用kill終止進程 448
15.4.2 用killall終止進程 449
第16章 Linux係統優化思路 453
16.1 性能問題綜述 454
16.2 影響Linux性能的因素 454
16.2.1 係統硬件資源 454
16.2.2 操作係統相關資源 456
16.2.3 應用程序軟件資源 457
16.3 分析係統性能涉及的人員 458
16.3.1 Linux運維人員 458
16.3.2 係統架構設計人員 458
16.3.3 軟件開發人員 458
16.4 係統性能分析工具 459
16.5 係統性能分析標準 461
16.6 本章總結 462
第17章 Linux係統性能評估與
優化案例 463
17.1 CPU性能評估 464
17.1.1 vmstat命令 464
17.1.2 sar命令 465
17.1.3 iostat命令 467
17.1.4 uptime命令 467
17.1.5 本節小結 467
17.2 內存性能評估 468
17.2.1 free 命令 468
17.2.2 通過watch與free相結閤
動態監控內存狀況 469
17.2.3 vmstat命令監控內存 469
17.2.4 “sar –r”命令組閤 470
17.2.5 本節小結 470
17.3 磁盤I/O性能評估 470
17.3.1 “sar –d”命令組閤 471
17.3.2 “iostat –d”命令組閤 472
17.3.3 “vmstat –d”命令組閤 474
17.3.4 本節小結 474
17.4 網絡性能評估 475
17.4.1 通過ping命令檢測網絡的
連通性 475
17.4.2 通過“netstat –I”命令組閤
檢測網絡接口狀況 475
17.4.3 通過“netstat –r”命令組閤
檢測係統的路由錶信息 476
17.4.4 通過“sar –n”命令組閤顯示係統的網絡運行狀態 477
17.4.5 本節小結 478
17.5 基於Web應用的性能分析及
優化案例 478
17.5.1 基於動態內容的網站優化
案例 478
17.5.2 基於動態、靜態內容結閤的
網站優化案例 480
第18章 虛擬化雲計算平颱
Proxmox VE 485
18.1 OpenVZ簡介 486
18.2 KVM簡介 486
18.3 Proxmox VE簡介 486
18.4 安裝Proxmox VE 487
18.5 Proxmox VE的使用 492
18.5.1 Proxmox VE功能選項說明 492
18.5.2 創建OpenVZ虛擬機 496
18.5.3 創建KVM 500
第19章 高性能集群軟件Keepalived 506
19.1 集群的定義 507
19.2 集群的特點與功能 507
19.2.1 高可用性與可擴展性 507
19.2.2 負載均衡與錯誤恢復 508
19.2.3 心跳監測與漂移IP地址 508
19.3 集群的分類 509
19.3.1 高可用集群 509
19.3.2 負載均衡集群 510
19.3.3 分布式計算集群 511
19.4 HA集群中的相關術語 511
19.5 Keepalived簡介 512
19.5.1 Keepalived的用途 512
19.5.2 VRRP與工作原理 513
19.5.3 Keepalived工作原理 513
19.5.4 Keepalived的體係結構 514
19.6 Keepalived安裝與配置 516
19.6.1 Keepalived的安裝過程 516
19.6.2 Keepalived的全局配置 518
19.6.3 Keepalived的VRRPD配置 518
19.6.4 Keepalived的LVS配置 522
19.7 Keepalived基礎功能應用實例 526
19.7.1 Keepalived基礎HA功能
演示 526
19.7.2 通過vrrp_script實現對
集群資源的監控 532
19.7.3 Keepalived集群中Master和
Backup角色選舉策略 535
第20章 負載均衡集群LVS與
HAProxy 537
20.1 LVS簡介 538
20.2 LVS體係結構 538
20.3 LVS集群的特點 539
20.3.1 IP負載均衡與負載調度
算法 539
20.3.2 高可用性 541
20.3.3 高可靠性 542
20.3.4 適用環境 542
20.3.5 開源軟件 542
20.4 LVS的安裝與使用 542
20.4.1 安裝IPVS管理軟件 542
20.4.2 ipvsadm的用法 543
20.5 通過Keepalived搭建LVS
高可用性集群係統 545
20.5.1 實例環境 545
20.5.2 配置Keepalived 546
20.5.3 配置Real Server節點 549
20.5.4 啓動Keepalived+LVS集群
係統 550
20.6 測試高可用LVS負載均衡集群
係統 551
20.6.1 高可用性功能測試 551
20.6.2 負載均衡測試 552
20.6.3 故障轉移測試 552
20.7 高性能負載均衡軟件HAProxy 553
20.7.1 HAProxy簡介 553
20.7.2 4層和7層負載均衡器的
區彆 554
20.7.3 HAProxy與LVS的異同 555
20.8 HAProxy基礎配置與應用實例 556
20.8.1 快速安裝HAProxy集群
軟件 556
20.8.2 HAProxy基礎配置文件詳解 556
20.8.3 通過HAProxy的ACL規則
實現智能負載均衡 563
20.8.4 管理與維護HAProxy 565
20.8.5 使用HAProxy的Web監控
平颱 569
20.9 搭建HAProxy+Keepalived
高可用負載均衡係統 570
20.9.1 搭建環境描述 570
20.9.2 配置HAProxy負載均衡
服務器 571
20.9.3 配置主、備用KeepAlived
服務器 573
20.10 測試HAProxy+Keepalived
高可用負載均衡集群 576
20.10.1 測試Keepalived的高可用
功能 576
20.10.2 測試負載均衡功能 578
· · · · · · (
收起)