linux服务基础之nginx简单介绍
Nginx: enginx X
国内有两个分支版本:
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。Tengine
Registry
nginx研发时调用libevent库中的epoll函数:
libevent: 高性能的网络服务程序库
epoll(): 基于事件驱动的开发库文件
Nginx特性:
模块化设计、较好的扩展性
高可靠
master --> worker
低内存消耗
10000个keep-alive模式下的connection,仅需要2.5MB的内存
支持热部署
不停机而更新配置文件、日志文件滚蛋、升级程序版本
支持事件驱动、AIO、mmap
基本功能:
静态资源的web服务器,能缓存打开的文件描述符
http、smtp、pop3协议的反向代理服务器
缓存加速、负载均衡
支持FastCGI(fpm,LNMP),uWSGI(Python)等
模块化(非DSO机制)、过滤器zip、SSI及图像的大小调整
支持SSL
扩展功能:
基于名称和IP的虚拟主机
支持keepalive
支持平滑升级
定制访问日志、支持使用日志缓存区提供日志存储性能
支持url rewrite
支持路径别名
支持基于IP及用户的访问控制
支持速率限制,支持并发数限制
Nginx的基本架构
一个master进程,生成一个或多个worker进程
事件驱动:epoll(边缘触发)(linux上实现的事件驱动)、kqueue(BSD上实现的事件驱动)、/dev/poll
复用器:select,poll,rt signal
支持sendfile, sendfile64
支持AIO
支持mmap
nginx的工作模式:非阻塞、事件驱动、由一个master进程生成多个worker线程,每个worker响应n个请求
模块类型:
核心模块
Standard HTTP modules
Optional HTTP modules
Mail modules
3rd party modules
安装方法:
源码:编译安装
制作好的程序包: rpm包
nginx编译安装可参考另一篇博文:https://www.cnblogs.com/ckh2014/p/10848623.html
nginx基础配置:
配置文件: /etc/nginx/nginx.conf
# vim /etc/nginx/nginx.conf
main配置段:全局配置段
events: 定义event模型工作特性
http:{
} : 定义http协议相关的配置
配置指令:要以分号结尾,语法格式:
directive value1 [value2...]
支持使用变量:
内置便利:
模块会提供内建变量定义
自定义变量:
set var_name value
主配置段的指令:
用于调试、定位问题
正常运行必备的配置
优化性能的配置
事件相关的配置

更多精彩