参数名称 | 意义 | 默认值 |
--prefix=PATH | Nginx安装部署后的根目录 | 默认值为/usr/local/nginx目录,注意:这个目标的设置会影响其他参数中的相对目录.例如.如果没有设置 --sbin-path=/sbin/niginx,那么实际上可执行文件会被放到/usr/local/nginx/sbin/nginx中 |
--sbin-path=PATH | 可执行文件的放置路径 | <prefix>/sbin/nginx |
--conf-path=PATH | 配置文件的放置路径 | <prefix>/conf/nginx.conf |
--error-log-path=PATH | error日志文件的放置路径,error日志用于定位问题,可输出多种级别,(包括debug调试级别)的日志,他的配置非常的灵活,可以在nginx.conf里配置为不同请求的日志并输入到不同的log文件中,这里默认的Nginx核心日志路径 | <prefix>/logs/error.log |
--pid-path=PATH | pid文件的存放路径,这个文件里仅以ASCII码存放着Nginx master的进程ID,有个这个进程ID,在使用命令行(例如 nginx -s reload ) 通过读取master进程ID向master进程发送信号时.才能对运行中的Nginx服务产生作用 | <prefix>/logs/nginx.pid |
--lock-path=PATH | lock 文件的放置路径 | <prefix>/logs/nginx.lock |
--builddir=DIR | configure 执行时于编译期间产生的临时文件放置目录,包括产生的Makefile,C源文件, 目标文件,可执行文件等 | <nginx source path>/objs |
--with-perl_modules_path=PATH | perl module 放置的路径,只有使用了第三方的perl module 才需要配置这个路径 | 无 |
--with-perl=PATH | perl binary 放置的路径, 如果配置的Nginx会执行Perl脚本,那么就必须要设置此路径 | 无 |
--http-log-path=PATH | access 日志放置的位置,每一个HTTP请求在结束时都会记录的访问日志 | <prefix>/logs/access.log |
--http-client-body-temp-path=PATH | 处理HTTP请求时如果请求的包体需要暂时存放到临时磁盘文件中,则把这样的临时文件放置到该路径下 | <prefix>/client_body_temp |
--http-proxy-temp-path=PATH | Nginx作为HTTP反向代理服务器时,上游服务器产生的HTTP包体在需要临时存放在磁盘文件时,将放置在此目录中 | <prefix>/proxy_temp |
--http-fstcgi-temp-path=PATH | Fastcgi 所使用临时文件的放置目录 | <prefix>/fastcgi_temp |
--http-uwsgi-temp-path=PATH | uWSGI所使用临时文件的放置目录 | <prefix>/uwsgi_temp |
--http-scgi-temp-path=PATH | SCGI所使用临时文件的放置目录 | <prefix>/scgi_temp |
编译参数 | 意义 |
---|---|
--with-cc=PATH | C 编译器的路径 |
--with-cpp=PATH | C预编译器的路径 |
--with-cc-opt=OPTIONS | 如果 希望在Nginx编译期间制定加入一些编译选项,如指定宏或者使用-I加入某些需要包含的目录,这是可以使用该参数达到目的 |
--with-ld-opt=OPTIONS | 最终的二进制可执行文件是由编译后生成的目标文件与一些第三方连接生成的.在执行连接操作时可能会需要指定连接参数, --with-Id-opt 就是用于加入连接时的参数.例如,如果我们希望将某个库连接到Nginx程序中,需要在这里加入 --with-Id-opt=llibraryName -LlibraryPath, 其中libraryName是目标库的名称,libraryPath 则是目标库所在的路径 |
--with-cpu-opt=CPU | 指定CPU处理器架构, 只能从以下取值中选择, Pentium, pentiumpro, pentium3, Pentium4, athlon, opteron, sparc32, sparc64, ppc64 |
PCRE库的设置参数 | 意义 |
---|---|
--without-pcre | 如果确认Nginx不用解析正则表达式,也就是说,nignx.conf 配置文件中不会出现正则表达式,那么可以使用这个参数 |
--with-pcre | 强制使用 PCRE库 |
--with-pcre=DIR | 指定PCRE库的源码位置, 在编译Nginx时会进入该目录编译PCRE源码 |
--with-pcre-opt=OPTIONS | 编译PCRE源码时希望加入的编译选项 |
OpenSSL库的设置参数 | 意义 |
---|---|
--with-openssl=DIR | 指定OpenSSL库的源码位置,在编译Nginx时会进入该目录编译OpenSSL源码 注意:如果web服务器支持HTTPS 也就是SSL协议, Nginx 要求必须使用OpenSSL.可以访问 http://www.openssl.org/免费下载 |
--with-openssl-opt=OPTIONS | 编译OpenSSl源码时希望加入的编译选项 |
atomic(原子)库的设置参数 | 意义 |
---|---|
--with-libatomic | 强制使用 atomic库, atomic库是CPU架构独立的一种原子操作的实现.他支持一下体系架构:x86(包括 x86_64),PPC64,Sparc64(V9或者更高的版本)或者安装了GCC4.0及更高的版本的架构, |
--with-libatomic=DIR | atomic库所在的位置 |
散列函数库的设置参数 | 意义 |
---|---|
--with-MD5=DIR | 指定MD5库的源码位置,在编译Nginx时会进入该目录编译MD5源码 注意:Nginx源码中已经有了MD5算法的实现,如果没有特殊的要求,那么完全可以使用Nginx自身实现的MD5算法 |
--with-MD5-opt=OPTIONS | 编译MD5源码时希望加入的编译选项 |
--with-MD5-asm | 使用MD5的汇编源码 |
--with-SHA1=DIR | 指定SHA1库的源码位置,在编译Nginx时会进入该目录编译SHA1源码, 注意: OpenSSL 中已经有了SHA1的算法实现,如果已经安装了OpenSSl那么完全可以使用OpenSSl实现的SHA1算法的实现 |
--with-SHA1-opt=OPTIONS | 编译SHA1源码是希望加入的编译选项 |
--with-SHA1-asm | 使用SHA1的汇编源码 |
zlib库的设置参数 | 意义 |
---|---|
--with-zlib=DIR | 指定zlib库的源码位置,在编译Nginx时会进入该目录编译zlib源码,如果使用了gzip压缩功能,就需要zlib库的支持 |
--with-zlib-opt=OPTIONS | 编译zlib源码时希望加入的 编译选项 |
--with-zlib-asm=CPU | 指定对特定的CPU使用zlib库的汇编优化功能,目前仅支持两种架构 pentium 和 pentiumpro |
编译参数 | 意义 |
---|---|
--with-rtsig_module | 使用rtsig module 处理事件驱动,默认情况下,Nginx是不安装rtsig module module 的, 即不会把rtsig module 编译进最终的Nginx二进制程序中 |
--with-select-module | 使用select module 处理时间驱动 select 是 Linux提供的一种多路复用机制, 在epoll调用没有诞生前, 例如在Linux 2.4及其之前的内核中,selct用于支持服务器提供的高并发连接 默认情况下,Nginx是不安装select module 的,但是如果没有找到其他的更好的事件模块,该模块将会被安装 |
--without-select_module | 不安装select_module模块 |
--with-poll-module | 使用poll module 处理时间驱动 poll 的性能与select 类似. 在大量并发连接下性能都远不如epoll.默认情况下,Nginx是不安装poll module 的 |
--without-poll_module | 不安装pollmodule |
--with-aio-module | 使用AIO方式处理时间驱动 注意:这里的aio module 只能与FreeBSD操作系统上的kqueue时间处理机制合作,Linux上无法使用,默认情况下是不安装aio moudule的 |
默认安装的HTTP模块 | 意义 |
---|---|
--without-http_charset_module | 不安装 http charset module 这个模块可以将服务器发出的HTTP响应重编码 |
--without-http_gzip_module | 不安装http gzip module 在服务器发出HTTP响应包中,这个模块可以按照配置文件制定的content-type对特定大小的HTTP响应包体执行gzip压缩 |
--without-http_ssi_module | 不安装 http ssi module 该模块可以在向用户返回的HTTP响应包体中加入特定的内容,如HTML文件中固定的页头和页尾 |
--without-http_userid_module | 不安装http userid module 这个模块可以通过HTTP请求头部信息里的一些字段认证用户信息,以确定请求是否合法 |
--without-http_access_module | 不安装http auth basic module 这个模块可以根据IP地址限制能够访问服务器的客户端 |
--without-http_auth_basic_module | 不安装http auth basic module 这个模块可以提供最简单的用户名/密码认证 |
--without-http_autoindex_module | 不安装http autoindex module 该模块提供简单的目录浏览功能 |
--without-http_geo_module | 不安装http geo module 这个模块可以定义一些变量, 这些变量的值将于客户端IP地址关联,这样Nginx针对不同的地区的客户端(根据IP地址判断)返回不一样的结果,例如不同地区显示不同语言的网页 |
--without-http_map_module | 不安装 http map module 这个模块可以建立一个key/value映射表,不同的key得到相应的value,这样可以针对不同的URL做特殊处理.例如302 重定向响应时, 可以期望URL不同时返回的Location字段也不一样 |
--without-http_split_clients_module | 不安装 http split client module 该模块会根据客户端的信息 例如:IP地址 header头,cookies等来区分处理 |
--without-http_referer_module | 不安装http referer module 该模块可以根据请求中的referer字段来拒绝请求 |
--without-http_proxy_module | 不安装http proxy module 该模块提供基本的HTTP反向代理功能 |
--without-http_rewrite_module | 不安装http rewrite module 该模块提供HTTP请求在Nginx服务器内部的重定向功能,依赖PCRE库 |
--without-http_fastcgi_module | 不安装 http fastcgi module 该模块提供FastCGI功能 |
--without-http_uwsgi_module | 不安装 http uwsgi module 该模块提供wWSCGI功能 |
--without-http_scgi_module | 不安装http scgi module 该模块提供SCGI 功能 |
--without-http_memcached_module | 不安装 http memcached module 不安装http memcached module 该模块可以使得Nginx直接由上游的memcached服务读取数据,并简单的适配成HTTP响应返回给客户端 |
--without-http_limit_zone_module | 不安装http limit zone module 该模块针对某个IP地址限制并发连接数 例如:是Nginx对一个IP地址仅允许一个连接 |
--without-limit_req_module | 不安装http limit req module 该模块针对某个IP地址限制并发连接数 |
--without-http_empty_gif_module | 不安装http empty gif module 该模块可以使得Nginx在收到无效请求时立即返回内存中的1X1像素的gif图片 这种好处在于,对于明显的无效请求不会去试图浪费服务器资源 |
--without-http_brower_module | 不安装 http browser module 该模块会根据HTTP请求中的user-agent字段(该字段通常由浏览器填写)来识别浏览器 |
--without-http_upstream_ip_hash_module | 不安装http upstream ip hash module 该模块提供当Nginx与后端server建立连接时, 会根据IP做散列运算来决定与后端哪台server通信,这样可以实现负载均衡 |
可选的HTTP模块 | 意义 |
---|---|
--with-http_ssl_module | 安装http ssl module. 该模块使Nginx支持SSL协议,提供HTTPS服务. 注意:该模块的安装依赖于OpenSSL开源软件,即首先应确保已经在之前的参数中配置了OpenSSL |
--with-http_realip_module | 安装http realip module 该模块可以从客户端请求里的header信息(如X-Real-IP 或者 X-Forwarded-For)中获取真正的客户端IP地址 |
--with-http_addition_module | 安装http addition module 该模块可以在返回客户端的HTTP包体头部或者尾部增加内容 |
--with-http-xslt-module | 安装http xslt module 这个模块可以使XML格式的数据再发给客户端前加入XSL渲染 注意:这个模块依赖于libxml2和libxslt库,安装它之前首先确保上述两个软件已经安装 |
--with-http_image_filter_module | 安装http image_filter module 这个模块将符合配置的图片实时压缩为指定大小(width*height)的缩略图在发送给客户,目前支持JPEG,PNG,GIF格式. 注意:这个模块依赖于开源的libgd库,在安装前确保操作系统已经安装了libgd |
--with-http_geoip_module | 安装http geoip module 该模块可以依据MaxMaind GeoIP的IP地址数据库对客户端的IP地址得到实际的地理位置信息. 注意:该库依赖于MaxMind GeoIP的库文件,可以访问下载地址获取 |
--with-http_sub_moduel | 安装http sub module 该模块可以在Nginx返回客户端的HTTP响应包中将指定的字符串替换为自己需要的字符串 例如:在HTML的返回中.将</head>替换为</head><script language='JavaScript' src='$script'></script> |
--with-http_dav_module | 安装 http dav module 这个模块可以让Nginx支持WebDav标准,如支持Webdav协议中的PUT,DELETE,COPY,MOVE,MKCOL等请求 |
--with-http_mp4_module | 安装http MP4 module 该模块使客户端可以观看,拖动MP4视频 |
--with-http_gzip_static_module | 安装http gzip static module 如果采用gzip 模块把一些文件进行gzip格式压缩后再返回给客户端,那么对同一个文件每次都会重新压缩,这是比较消耗服务器CPU资源的.gzip static 模块可以在做gzip压缩前.先查看相同位置是否已经做过gzip压缩的.gz文件.如果有,就直接返回,这样就可以预现在服务器上做好文档的压缩,给CPU减负 |
--with-http_random_index_module | 安装http random index module 该模块在客户端访问某个目录时,随机返回该目录下的任意文件. |
--with-http_secure_link_module | 安装http sceure index module 该模块提供一种验证请求是否有效的机制, 例如:它会验证URL中需要加入的token参数是否属于特定的客户端发来的.以及检查时间戳是否过期. |
--with-http_degradation_module | 安装http degradation module 该模块针对一些特殊的系统调用(如 sbrk) 做一些优化, 如直接返回HTTP响应码为204 或 444 目前不支持Linux系统 |
--with-http_stub_status_module | 安装http stub status module 该模块可以让运行中的Nginx提供性能统计页面,获取相关的并发连接.请求的信息 |
--with-google_perftools_module | 安装google perftools module 该模块提供google的性能测试工具 |