Nginx大纲
2020-08-07 10:49:47 46 举报
AI智能生成
110101100001011100011000010011
作者其他创作
大纲/内容
1.基本概念
1.1 基本特性
1.2 基本功能
1.3 相关功能
1.4 组织结构
1.4 .1 组织模型
1.4 .2 进程间通信
1.5 模块功能
1.5.1 核心模块
1.5.2 标准HTTP模块
1.5.3 可选HTTP模块
1.5.4 邮件服务模块
1.5.5 第三方模块
1.6 部署模式
1.6.1 yum部署
1.6.2 二进制部署
4.实际案例
4.1 LNMP-WordPress站点
4.2 集群测试
4.2.1 集群概念
集群介绍
集群优势
高性能(Performance)
价格有效性(Cost-effectiveness)
可伸缩性(Scalability)
高可用性(Availability)
透明性(Transparency)
可管理性(Manageability)
可编程性(Programmability)
集群分类
常见分类
负载均衡集群(Load Balancing Clusters,LBC或者LB)
高可用性集群(High-Availability Clusters,HAC)
高性能计算集群(High-Performance Clusters,HPC
网格计算(Grid Computing)
不同种类
负载均衡集群
高可用性集群
高性能计算集群
网格计算集群
软硬选型
硬件
F5、Netscaler、Radware、A10等,工作模式相当于Haproxy
缺点
成本高,不能二次开发
优点
性能强、更稳定
软件
Nginx、LVS、Haproxy、Keepalived、Heartbeat
缺点
需要强有力的运维以及开发
优点
可以进行二次开发,互联网行业更倾向于开源软件
选型
硬件
业务重要、技术薄弱、舍得开钱
银行、证券、金融、宝马、奔驰
银行、证券、金融、宝马、奔驰
软件
利润较低的中小型企业
混合
门户网站
淘宝、腾讯、新浪
淘宝、腾讯、新浪
集群选型
中小互联网企业
负载均衡
Nginx
配置简单、使用方便、安全稳定、社区活跃、市场主流
Haproxy
支持L4/L7,社区活跃较低
高可用
Keeplived
部署快速、配置简单、使用方便、安全稳定
Heartbeat
使用较为复杂,经验到位的工程师可以进行选型
大型互联网企业
负载均衡
应用服务器
前端
LVS+Keepalived 四层转发(主备或主主) 可拓展DNS或OSPF
后端
Nginx 或 Haproxy 七层转发(支持百台级别)
数据库/存储
LVS+Heartbeat
LVS支持TCP转发,DR模式高效,Heartbeat可以配合DRBD
可以进行VIP切换,可以支持块设备级别的数据同步,可以支持资源服务管理
LVS支持TCP转发,DR模式高效,Heartbeat可以配合DRBD
可以进行VIP切换,可以支持块设备级别的数据同步,可以支持资源服务管理
集群均衡
反向代理与负载均衡差异
负载均衡组件
并发调优参数
4.2.2 部署测试
集群规划
集群部署
集群调优
2.基本模型
2.1 Nginx与Apache
2.1.1 Apache
prefork模型
work模型
event模型
2.1.2 Nginx
高性能模型
2.2 系统I/O模型
2.2.1 异步/同步
2.2.2 阻塞/非阻塞
2.2.3 模型组合
2.3 网路I/O模型
2.3.1 同步阻塞IO(blocking IO)
2.3.2 同步非阻塞IO(nonblocking IO)
2.3.3 IO多路复用(IO multipexing)
2.3.4 信号驱动式IO(signal-driven IO)
2.3.5 异步非阻塞(asynchronous IO)
2.3.6 横向IO对比
2.3.7 常用模型
2.3.8 MMAP
3.主机配置
3.1 核心配置
3.1.1 全局配置
3.1.2 http配置
3.1.3 核心配置
站点模式
基于IP
基于端口
基于域名
站点功能(include)
别名(alias)
正则匹配(location)
精确匹配
区分大小
不区分大小
URI定向
文件名定向
优先级
生产案例
四层访问控制
账号认证
自定义错误提示
自定义访问日志
日志参数
日志目录
日志配置
日志模板
并发优化
日志切割
判断文件
超时时间设置
作为下载服务器
作为上传服务器
其他配置
3.2 高级配置
3.2.1 状态页面
3.2.2 三方模块
3.2.3 使用变量
3.2.4 日志目录
3.2.5 压缩功能
3.2.6 HTTP功能
3.2.7 图标显示
3.2.8 安全选项
版本隐藏
OpenSSL升级
3.3 Rewrite 重定向
3.3.1 模块语法
if指令
set指令
break指令
return指令
rewrite_log指令
3.3.2 指令案例
rewrite flag介绍
域名重定向
临时重定向
永久重定向
break与last
break案例
last案例
自动跳转HTTPS
判断文件
3.3.3 防盗链
web防盗链
防盗链
3.4 反向代理
3.4.1 HTTP反向代理
配置参数
单台服务
指定location
缓存服务
压力测试
缓存配置
文件校验
高级应用
配置参数
多台web
IP透传
动静分离
3.4.2 负载均衡(proxy)
配置参数
负载案例
redis
mysql
3.4.3 FsatCGI
配置指令
配置示例
Nginx&&php-fpm
同环境
异环境
tengine
配置文件
concat模块
DSO模块
3.4.4 健康检查(check)
3.5 参数优化
0 条评论
下一页