--prefix=<path>
:Nginx 安装的根路径,全部其余的路径都要依赖于该选项。--sbin-path=<path>
:指定 Nginx 二进制文件的路径。若是没有指定,那么这个路径会依赖于 --prefix 选项。--conf-path=<path>
:若是在命令行没有指定配置文件,那么将会经过这里指定路径,Nginx 将会去那里查找它的配置文件。--error-log-path=<path>
:指定错误文件的路径,Nginx 将会往其中写入错误日志文件,除非有其余的配置。--pid-path=<path>
:指定的文件将会写入 Nginx master 进程的 pid,一般在 /var/run 下。--lock-path=<path>
:共享存储器互斥锁文件的路径。--user=<user>
:worker 进程运行的用户。--group=<group>
:worker 进程运行的组。--with-file-aio
:为 FreeBSD 4.3+ 和 Linux 2.6.22+ 系统启用异步 I/O。--with-debug
:这个选项用于启用调试日志。在生产环境的系统中不推荐使用该选项。--with-cc=<path>
:若是想设置一个不在默认 PATH 下的 C 编译器。--with-cpp=<path>
:设置 C 预处理器的相应路径.--with-cc-opt=<options>
: 指定必要的 include 文件路径,可能 d(-I<path)指出,也多是优化(-O4)和指定一个 64 位构建。--with-ld-opt=<options>
:包含链接器库的路径(-L<path>)和运行路径(-R<path>)。--with-cpu-opt=<cpu>
:经过该选项为特定的 CPU 构建 Nginx。--with-mail
:该选项用于启用 mail 模块,该模块默认没有激活。--with-mail_ssl_module
:为了代理任何一种类型的使用 SSL/TLS 的 mail,激活该模块。--without-mail_pop3_module
:在启用 mail 模块后,单独地禁用 POP3 模块。--without-mail_imap_module
:在启用 mail 模块后,单独地禁用 IMAP 模块。--without-mail_smtp_module
:在启用 mail 模块后,单独地禁用 SMTP 模块。--without-http
:该选项将彻底禁用 http 模块,若是你只想支持 mail,那么可使用它。对于典型的 mail 代理,可配置为以下:数据库
./configure -with-mail --with-mail_ssl_module --with-openssl=${BUILD_DIR}/openssl-1.0.1c
对于邮件服务器来讲,如今几乎每个邮件服务器的安装都须要安装 SSL/TLS,并没没有一个邮件代理启用了预期功能的用户。推荐静态编译 OpenSSL,以便对操做系统中的 OpenSSL 库没有依赖性。缓存
--without-http-cache
:在使用 upstream 模块时,Nginx 可以配置本地缓存内容。这个选项可以禁用缓存。--with-http_perl_module
:Nginx 配置可以扩展使用 Perl 代码。这个选项启用这个模块(然而使用这个模块会下降性能)。--with-perl_modules_path=<path>
:对于额外嵌入的 Perl 模块,使用该选项指定该 Perl 解析器的路径。也能够经过配置选项来指定 Perl 模块解析器的位置。--with-perl=<path>
:若是在默认的路径中没有找到 Perl,那么指定 Perl(5.6 版本以上)的路径。--http-client-body-temp-path=<path>
:从客户端收到请求后,该选项设置的目录用于做为请求体临时存放的目录。若是 WebDAV 模块启用,那么推荐设置该路径为同一个文件系统上的目录做为最终的目的地。--http-proxy-temp-path=<path>
:在使用代理后,经过该选项设置存放临时文件路径。--http-fastcgi-temp-path=<path>
:设置 FastCGI 临时文件的目录。--http-uwsgi-temp-path=<path>
:设置 uWSGI 临时文件的目录。--http-scgi-temp-path=<path>
:设置 SCGI 临时文件的目录。--with-http_ssl_module
:若是须要对流量进行加密,那么可使用这个选项,在 URLs 中开始部分将会是 https(须要 OpenSSL)。--with-http_realip_module
:若是你的 Nginx 在七层负载均衡器或者是其余设备以后,它们将 Http 头中的客户端 IP 地址传递,那么你将会须要启用这个模块。在多个客户处于一个 IP 地址下使用。--with-http_addition_module
:这个模块做为一个输出过滤器,使你可以在请求通过一个 location 前或者后时在该 location 自己添加内容。--with-http_xslt_module
:该模块用于 XML 响应转换,基于一个或者多个 XSLT 格式(须要 libxml2 和 libxslt 库)。--with-http_image_filter_module
:该模块被做为图像过滤器使用,在将图像投递到客户以前进行处理(须要 libgd 库)。--with-http_geoip_module
:使用该模块,可以设置各类变量以便在配置文件中的区段使用,基于地理位置查找客户端 IP 地址(须要 MaxMfind GeoIP 库和相应的预编译数据库文件)。--with-http_sub_module
:该模块实现了替代过滤,在响应中用一个字符串替代另外一个字符串。--with-http_dav_module
:启用这个模块将激活使用 WebDAV 的配置指令。请注意,这个模块也只在有须要使用的基础上启用,若是配置不正确,它可能带来安全问题。--with-http_flv_module
:若是须要提供 Flash 流媒体视频文件,那么该模块将会提供伪流媒体。--with-http_mp4_module
:这个模块支持 H.264/AAC 文件伪流媒体。--with-http_gzip_static_module
:当被调用的资源没有 .gz 结尾格式的文件时,若是想支持发送预压缩版本的静态文件,那么使用该模块。--with-http_gunzip_module
:对于不支持 gzip 编码的客户,该模块用于为客户解压缩预压缩内容。--with-http_random_index_module
:若是你想提供从一个目录中随机选择文件的索引文件,那么这个模块须要被激活。--with-http_secure_link_module
:该模块提供了一种机制,它会将一个哈希值连接到一个 URL 中,所以,只有那些使用正确的密码可以计算连接。--with-http_stub_status_module
:启用这个模块后会收集 Nginx 自身的状态信息。输出的状态信息可使用 RRDtool 或相似的东西来绘制成图。对于网络加速/代理,可以下配置:安全
./configure --with-http_ssl_module --with-http_realip_module --with-http_geoip_module --with-http_stub_status_module --with-openssl=${BUILD_DIR}/openssl-1.0.1c
对于 Web 服务器:服务器
./configure --with-http_stub_status_module
这两个配置不一样之处在于它们面对的客户,处于 Web 加速时,会考虑到 SSL 请求的终结,也包括处理代理客户和基于客户来源决策。处于 Web 服务时,则仅须要提供默认文件访问能力。cookie
--without-http_charset_module
:该字符集模块负责设置 Content-Type 响应头,以及从一个字符集转换到另外一个字符集。--without-http_gzip_module
:gzip 模块做为一个输出过滤器,在将内容投递到客户时对内容进行压缩。--without-http_ssi_module
:该模块是一个过滤器,用于处理 SSI 包含。若是启用 Perl 模块,那么额外的 SSI 指令(perl)可用。--without-http_userid_module
:userid 模块可以使得 Nginx 设置 cookies,用于客户标识。变量 $uid_set 和 $uid_got 能够记录用户跟踪。--without-http_access_module
:access 模块基于 IP 控制访问 location。--without-http_auth-basic_module
:该模块经过 Http 基自己份验证限制访问。--without-http_autoindex_module
:若是一个目录中没有 index 文件,那么 autoindex 模块收集这个目录列出文件。--without-http_geo_module
:该模块可以让你基于客户端 IP 地址设置配置变量,而后根据这些变量的值采起行动。--without-http_map_module
:map 模块可以让你映射一个变量到另外一个变量。--without-http_split_clients_module
:该模块建立用于 A/B 测试的变量。--without-http_referer_module
:该模块可以让 Nginx 阻止基于 Referer Http 头的请求。--without-http_rewrite_module
:经过 rewrite 模块可以让你基于变量条件改变 URI。--without-http_proxy_module
:使用 proxy 模块容许 Nginx 将请求传递到其余服务器或者服务器组。--without-http_fastcgi_module
:FastCGI 模块可以让 Nginx 将请求传递到 FastCGI 服务器。--without-http_uwsgi_module
:这个模块可以使得 Nginx 将请求传递到 uWSGI 服务器。--without-http_scgi_module
:SCGI 模块可以让 Nginx 将请求传递到 SCGI 服务器。--without-http_memcached_module
:该模块可以使得 Nginx 与一个 memcached 服务器进行交互,将响应放置到变量查询中。--without-http_limit_conn_module
:该模块可以使得 Nginx 基于某些键,一般是 IP 地址,设置链接限制。--without-http_limit_req_module
:经过该模块,Nginx 可以限制每一个用户的请求率。--without-http_empty_gif_module
:在内存中产生一个 1 像素 * 1 像素的透明 GIF 图像。--without-http_browser_module
:browser 模块容许基于 User-Agent Http 请求头配置,变量的设置基于在该头中发现的版本。--without-http_upstream_ip_hash_module
:该模块定义了一组能够与不一样的代理模块结合使用的服务器。