原英文文档来源于Nginx维基,网页版会和维基同步更新,由于是第一次翻译英文文档,而且没有经过校对,错误在所难免,如果在阅读文档过程中发现翻译不当的地方,请点击这里与作者联系,谢谢!
Nginx完整指令索引请参考nginx指令索引
目录
1、编译Nginx(Compiling Nginx)
Nginx模块必须在编译的时候指定,完整的编译选项,可用的模块可以参考安装选项
下面是一个例子:
./configure \
--prefix=/usr \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/tmp/nginx/client/ \
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/
更多编译参数与可用的模块信息请运行./configure –help
2、Nginx核心模块(Nginx Core Modules)
这些模块对于Nginx是必须的。
2.1 主模块(Main Module)
2.2 事件模块(Events Module)
3、Nginx标准HTTP模块(Standard HTTP Modules)
这些模块默认会全部编译进Nginx,除非手工指定某个模块在configure时排除。
3.1 HTTP核心模块(HTTP Core)
3.2 HTTP负载均衡模块(HTTP Upstream)
3.3 HTTP访问控制模块(HTTP Access)
3.4 HTTP基本认证模块(HTTP Auth Basic)
3.5 HTTP目录清单生成模块(HTTP Auto Index)
3.6 浏览器相关模块(Browser)
3.7 字符集设置模块(Charset)
3.8 Empty GIF模块(Empty GIF)
3.9 FastCGI模块(FastCGI)
3.10 Geo模块(Geo)
3.11 Gzip压缩模块(Gzip)
3.12 HTTP头处理模块(HTTP Headers)
3.13 默认主页设置模块(Index)
3.14 HTTP Referer模块(HTTP Referer)
3.15 HTTP Limit Zone模块(HTTP Limit Zone)
3.16 HTTP Limit Requests模块(HTTP Limit Requests)
3.17 日志模块(Log)
3.18 Map模块(Map)
3.19 Memcached模块(Memcached)
3.20 HTTP代理模块(HTTP Proxy)
3.21 URL重写模块(Rewrite)
3.22 SSI模块(SSI)
3.23 User ID模块(User ID)
3.24 uWSGI模块(uWSGI)
3.25 Split Clients模块(Split Clients)
3.26 Scgi模块(Scgi)
4、Nginx可选HTTP模块(Optional HTTP Modules)
如果要使用这些模块,则必须在编译时指定相关的编译参数。
4.1 HTTP Addition模块(HTTP Addition)
4.2 嵌入式Perl模块(Embedded Perl)
4.3 FLV模块(FLV)
4.4 Gzip Precompression模块(Gzip Precompression)
4.5 Random Index模块(Random Index)
4.6 GeoIP模块(GeoIP)
4.7 Real IP模块(Real IP)
4.8 SSL模块(SSL)
4.9 Stub Status模块(Stub Status)
4.10 Substitution模块(Substitution)
4.11 WebDAV模块(WebDAV)
4.12 Google Perftools模块(Google Perftools)
4.13 XSLT模块(XSLT)
4.14 Secure Link模块(Secure Link)
4.15 Image Filter模块(Image Filter)
5、Nginx邮件模块(Mail modules)
6、第三方模块(3rd Party Modules)
这些模块虽然没有正式被官方支持,但是可以帮助用户完成不少的功能。使用过程中请自行承担遇到的问题。在nginx源代码目录中使用下列命令添加第三方模块:
./configure --add-module=/path/to/module1/source \
--add-module=/path/to/module2/source
可以根据需求使用多个–add-module。可能根据不同的模块需要一些其他的库,请根据模块自行安装。 Evan Miller编写了nginx模块开发指南,但是某些部分有些陈旧(这个指南已经有中文版,译者姚伟斌,请点击这里下载)。