Nginx概述
是一个高性能的HTTP和反向代理web服务器,轻量级
• 提供了IMAP/POP3/SMTP服务
• 发布于2004年10月4日 (第一个公开版本0.1.0 )
• Nginx 的1.4.0稳定版已经于2013年4月24日发布
• C语言编写
• Nginx是一个跨平台服务器
• Nginx有自己的函数库,并且除了zlib、PCRE和OpenSSL之外,标准模块只使用系统C库函数。而且,如
果不需要或者考虑到潜在的授权冲突,可以不使用这些第三方库
占有内存少 (在3W并发连接中,开启的10个nginx进程消耗内存大约150M)
• 高并发能力强(官方测试能够支撑5W并发连接,在实际生产环境中能到2-3W并发连接数)
• 简单(配置文件通俗易懂)
• 价格(免费、开源)
• 支持Rewriter重写(能够根据域名、URL的不同,将HTTP请求分到不同的后端服务器群组)
• 内置健康检查(如果nginx后端有几个服务宕机了,不会影响前端访问,能自动检测服务状态)
• 节省带宽(支持GZIP压缩,可以添加浏览器本地缓存的Header头)
• 稳定性高,反向代理,很少宕机
• 中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等
功能 应用场景
•web服务器、轻量级
• 负载、均衡
• 缓存
• 高并发
• 代理服务器
• IP负载、静态负载
• 动静分离
• 限流、健康监控
Nginx配置文件详解
#模块结构
l 核心模块
1. HTTP 模块(代理、缓存、日志定义和第三方模块)
2. EVENTS 模块(网络连接)
3. 全局 模块(全局指令,日志路径、PID路径、用户信息等)
l 基础模块
1. HTTP 全局 模块
2. HTTP FastCGI 模块
3. HTTP Gzip模块
4. HTTP server模块(虚拟主机,一个http,可以有多个server)
5. HTTP location 模块(请求的路由,各种页面的处理)
6. HTTP Rewrite模块
l 第三方模块
1. HTTP Upstream Request Hash 模块
2. Notice 模块
3. HTTP Access Key模块
... #全局块
events { #events块
...
}
http #http块
{
... #http全局块
gzip\upstream\fastcgi
server #server块
{
... #server全局块
location [PATTERN] #location块
{
...
}
location [PATTERN]
{
...
}
}
server
{
...
}
... #http全局块
}