从代码看Nginx运维本质
陶辉
常见Web框架
可伸缩性、可用性
Nginx在负载均衡和Web加速服务器层面负有盛名
负载均衡
可伸缩性,容灾
WEB加速服务器
静态内容、高层次内容缓存
应用服务器
动态内容处理,如django、tomcat
缓存
低层次内容缓存,如redis
数据库
数据持久化
为什么选择Nginx?
更快
节约机器、降低成本
单节点支撑更大的负载
每请求消耗更少的资源
投入产出比高
广泛使用,经过全面考验
扩展性高,大量模块提供了
足够丰富的功能
可以不造轮子,只搭积木
运维nginx的步骤
编译
准备环境
理解、执行configure
编译
修改配置
熟悉配置格式
了解如何明确用法
理解脚本式配置
error日志
编译时--with-debug打开
定位问题时配置日志级别
debug日志定位配置错误
01
02
03
04
05
部署
安装到正确位置
开机自启
Access日志分割
access日志
熟悉可利用的变量
goaccess -f access.log -o report.html --
real-time-html --ws-url=zlddata.com
提升性能
提升传输效率
长连接代替短连接
Gzip压缩降低带宽
限制速度
保护应用服务器
缓存
有效的缓存往往是提升
性能的杀器
01
架构优化
缓存
keepalive长连接
gzip压缩
减少进程消耗
降低写日志磁盘IO
使用sendfile
修改操作系统配置
更好的适合高并发场景
02
Nginx优化
限制流量
access日志批量输出
启用sendfile等高性能配置
03
Linux优化
提高Backlog、文件描述符、端口范
围限制
TCP连接传输优化
Nginx能做些什么?
事件驱动框架
events{use epoll;}
事件驱动
请求建立TCP
连接事件
TCP连接可读
事件
TCP连接关闭
事件
TCP连接可写
事件
异步读磁盘
成功事件
事
件
收
集
、
分
发
者
连接建立事
件消费者
写事件消费
者
异步读磁盘
事件消费者
读事件消费
者
连接关闭事
件消费者
定时器事件
消费者
ppt素材
事件驱动框架
的优点:
很少的上下文
切换