Nginx笔记(一)

概念

  • 高性能的HTTP和反向代理服务器软件
  • IMAP/POP3/SMTP代理服务器
  • 发音: engine x
  • 作者:俄罗斯程序设计师Igor Sysoev
  • 许可类型:类BSD
  • 跨平台:UNIX、GNU/Linux、BSD、Mac OS X、Solaris以及Microsoft Windows等操作系统中
  • 特点:稳定、高效

特性

  • 静态编译
  • Fcgi支持良好
  • 支持epoll处理方式

epoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。

模块

结构划分

  • 内核模块:HTTP,EVENT,MAIL等
  • 基础模块:HTTP Access,HTTP FastCGI,HTTP Proxy,HTTP Rewrite等
  • 第三方模块:HTTP Upstream Request Hash,Notice,HTTP Access Key等

功能划分

  • Handlers,处理器模块,直接处理请求,一般只能有一个
  • Filters,过滤器模块,对其他处理器模块输出的内容进行修改操作
  • Proxies,代理类模块,与后段服务如FastCGI等交互,实现服务代理和负载均衡等

编译安装

编译命令

配置文件

结构

  • block形式组织,用 {} 表示
  • main->events->http{'server1':'{location1,location2}', 'server2':'{location1,location2...}',...}

全局配置

http设置

Gzip设置

server虚拟主机配置

为了便于维护和管理,最好将虚拟主机配置单独放置在一个文件,然后通过include指令包含。

例如,将server配置全部放在vhost目录下,然后用include指令包含,这样如果新增虚拟主机,直接在vhost目录下新增配置文件即可

配置实例:

URL匹配

location block 用于URL匹配配置,支持正则表达式及条件判断,可以实现对动、静态网页的过滤处理。

location中重定义root时最好用绝对路径,相对路径是相对于nginx安装目录的,如设置 root htmlerror.log

动态网页没有响应的处理程序会被直接下载。

Nginx管理

参考资料

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注