前言
第1章 Linux服务器的性能调优1
1.1 网站架构设计相关1
1.1.1 评估网站性能涉及的专业名词术语1
1.1.2 CDN业务的选项2
1.1.3 IDC机房的选择3
1.2 如何根据服务器应用来选购服务器 4
1.3 硬件对Linux性能的影响9
1.4 CentOS 6.8 x86_64最小化安装后的优化11
1.4.1 系统的基础优化11
1.4.2 优化Linux下的内核TCP参数以提高系统性能19
1.4.3 CentOS 6.8 x86_64系统最小化安装优化脚本21
1.4.4 Linux下CPU使用率与机器负载的关系与区别23
1.5 服务器调优实际案例25
1.6 小结28
第2章 Shell脚本在生产环境下的应用29
2.1 Shell编程基础29
2.1.1 Shell脚本基本元素30
2.1.2 Shell基础正则表达式30
2.1.3 Shell特殊字符32
2.1.4 变量和运算符33
2.2 Shell中控制流结构45
2.3 Sed的基础用法及实用举例48
2.3.1 Sed的基础语法格式48
2.3.2 Sed的用法举例说明53
2.4 awk的基础用法及实用举例56
2.5 Shell基础正则表达式举例61
2.6 Shell开发中应该掌握的系统知识点68
2.7 生产环境下的Shell脚本74
2.7.1 Amazon Linux系统简介74
2.7.2 生产环境下的备份类脚本75
2.7.3 生产环境下的监控类脚本78
2.7.4 生产环境下的运维开发类脚本84
2.8 小结88
第3章 利用Vagrant搭建分布式环境89
3.1 Vagrant简单介绍89
3.2 Vagrant安装90
3.3 使用Vagrant配置本地开发环境91
3.3.1 Vagrant的具体安装步骤91
3.3.2 Vagrant配置文件详解93
3.3.3 Vagrant常用命令详解95
3.4 使用Vagrant搭建分布式环境96
3.5 小结99
第4章 轻量级自动化运维工具介绍100
4.1 轻量级自动化运维工具pssh介绍101
4.1.1 pssh的安装103
4.1.2 pssh的使用103
4.2 轻量级自动化运维工具Fabric介绍105
4.2.1 Fabric的安装105
4.2.2 Fabric的命令行入口fab命令详细介绍107
4.2.3 Fabric的环境变量设置108
4.2.4 Fabric的核心API109
4.2.5 Fabric的执行逻辑112
4.2.6 如何利用进程池大小来限制Fabric并发进程数114
4.3 Fabric在工作中应用实例114
4.3.1 开发环境中Fabric应用实例115
4.3.2 工作场景中常见的Fabric应用实例116
4.4 小结120
第5章 Linux集群及其项目案例分享121
5.1 负载均衡高可用核心概念及常用软件121
5.1.1 什么是负载均衡高可用121
5.1.2 以F5 BIG-IP作为负载均衡器122
5.1.3 以LVS作为负载均衡器123
5.1.4 以Nginx作为负载均衡器132
5.1.5 以HAProxy作为负载均衡器132
5.1.6 高可用软件Keepalived134
5.1.7 高可用软件Heartbeat134
5.1.8 高可用块设备DRBD135
5.2 负载均衡关键技术136
5.2.1 什么是Session136
5.2.2 什么是Session共享136
5.2.3 什么是会话保持137
5.3 负载均衡器的会话保持机制138
5.3.1 LVS的会话保持机制138
5.3.2 Nginx负载均衡器中的ip_hash算法142
5.3.3 HAProxy负载均衡器的source算法145
5.4 服务器健康检测150
5.5 Linux集群的项目案例分享151
5.5.1 用LVS+Keepalived建高可用集群151
5.5.2 用Nginx+Keepalived实现在线票务系统154
5.5.3 企业级Web负载均衡高可用之Nginx+Keepalived157
5.5.4 HAProxy双机高可用方案之HAProxy+Keepalived169
5.5.5 巧用DNS轮询作负载均衡179
5.5.6 百万级PV高可用网站架构设计184
5.5.7 千万级PV高性能高并发网站架构设计187
5.6 软件级负载均衡器的特点介绍与对比193
5.7 四层负载均衡和七层负载均衡工作流程的对比194
5.8 Linux集群的总结和思考196
5.9 小结198
第6章 MySQL性能调优及高可用案例分享200
6.1 MySQL数据库的优化200
6.1.1 服务器物理硬件的优化200
6.1.2 MySQL配置文件的优化201
6.1.3 MySQL上线后根据status状态进行适当优化204
6.1.4 利用tuning-primer脚本进行数据库调优212
6.1.5 MySQL架构设计调优216
6.2 MySQL数据库的高可用架构方案216
6.2.1 生产环境下的DRBD+Heart-beat+MySQL双机高可用217
6.2.2 生产环境下的MySQL数据库主从Replication同步228
6.3 小结240
第7章 Linux防火墙介绍242
7.1 基础网络知识242
7.1.1 OSI网络参考模型242
7.1.2 TCP/IP三次握手的过程详解243
7.1.3 Socket应用245
7.1.4 其他基础网络知识247
7.2 Linux防火墙的状态机制247
7.3 Linux防火墙在企业中的应用247
7.4 Linux防火墙的语法248
7.5 iptables的基础知识252
7.5.1 iptables的状态state252
7.5.2 iptables的Conntrack记录254
7.5.3 关于iptables模块的说明255
7.5.4 iptables防火墙初始化的注意事项256
7.5.5 如何保存运行中的iptables规则256
7.6 如何流程化编写iptables脚本257
7.7 学习iptables应该掌握的工具260
7.7.1 命令行的抓包工具TCPDump260
7.7.2 图形化抓包工具Wireshark261
7.7.3 强大的命令行扫描工具Nmap264
7.7.4 使用TCPPing工具检测TCP延迟266
7.8 iptables的简单脚本学习267
7.8.1 普通的Web主机防护脚本267
7.8.2 如何让别人ping不到自己,而自己能ping通别人呢?269
7.8.3 建立安全的vsftpd服务器271
7.9 线上生产服务器的iptables脚本275
7.9.1 安全的主机iptables防火墙脚本275
7.9.2 自动分析黑名单及白名单的iptables脚本278
7.9.3 利用recent模块限制同一IP的连接数281
7.9.4 利用DenyHosts工具和脚本来防止SSH暴力破解285
7.10 工作中的Linux防火墙总结287
7.11 小结289
第8章 Linux系统安全相关篇290
8.1 TCP_wrappers应用级防火墙的介绍和应用290
8.2 DDos攻击和运营商劫持292
8.3 Linux服务器的安全防护294
8.3.1 Linux服务器基础防护篇294
8.3.2 Linux服务器高级防护篇295
8.4 Linux系统如何防止入侵301
8.5 小结301
附录A GibLab在开发工作中的实际应用302
附录B Sublime Text3的快捷键操作308
附录C 调试网络接口的利器Postman315
附录D RSYNC及INOTIFY在工作中的应用321
· · · · · · (
收起)