官方参考文档:http://nginx.org/en/docs/configure.html

--prefix=path nginx 程序目录。默认值:/usr/local/nginx。

--conf-path=path nginx 配置文件的名称。默认值:<prefix>/conf/nginx.conf。但是,在启动时通过 -c filename 指定的配置文件优先级最高。

--sbin-path=path nginx 可执行文件的名称,仅在安装期间使用。默认值:<prefix>/sbin/nginx。

安装后可在配置文件中更改项

--pid-path=path nginx.pid 文件的名称。默认值:<prefix>/logs/nginx.pid。安装后,可以使用 nginx.conf 中的 pid 指令更改。

--error-log-path=path 错误日志文件的名称。默认值:<prefix>/logs/error.log。安装后,可以使用 nginx.conf 中的 error_log 指令更改。

--http-log-path=path HTTP 服务器的主请求日志文件的名称。默认值:<prefix>/logs/access.log。安装后,可以使用 nginx.conf 中的 access_log 指令更改。

--lock-path=path 为锁定文件的名称设置前缀。默认值:<prefix>/logs/nginx.lock。安装后,可以使用 nginx.conf 中的 lock_file 指令更改。

--user=name nginx 运行用户。默认值:nobody。安装后,可以使用 nginx.conf 中的 user 指令更改。

--group=name nginx 运行组。默认值:--user 指定的值。安装后,可以使用 nginx.conf 中的 user 指令更改。

--http-client-body-temp-path=path 定义用于存储包含客户端请求正文的临时文件的目录。默认值:<prefix>/client_body_temp。安装后,可以使用 nginx.conf 中的 client_body_temp_path 指令更改。

--http-proxy-temp-path=path 定义用于存储包含从代理服务器接收到的数据的临时文件。默认值:<prefix>/proxy_temp。安装后,可以使用 nginx.conf 中的 proxy_temp_path 指令更改。

--http-fastcgi-temp-path=path 定义用于存储包含从 FastCGI 服务器接收到的数据的临时文件。默认值:<prefix>/fastcgi_temp。安装后,可以使用 nginx.conf 中的 fastcgi_temp_path 指令更改。

--http-uwsgi-temp-path=path 定义用于存储带有从 uwsgi 服务器接收到的数据的临时文件。默认值:<prefix>/uwsgi_temp。安装后,可以使用 nginx.conf 中的 uwsgi_temp_path 指令更改。

--http-scgi-temp-path=path 定义用于存储包含从 SCGI 服务器接收到的数据的临时文件。默认值:<prefix>/scgi_temp。安装后,可以使用 nginx.conf 中的 scgi_temp_path 指令更改。

默认构建的模块

--without-http_charset_module 禁用 ngx_http_charset_module 模块,该模块将指定的字符集添加到 “Content-Type” 响应头字段中,还可以将数据从一种字符集转换为另一种字符集,但有一些限制。

--without-http_gzip_module 禁用 ngx_http_gzip_module 模块。

--without-http_ssi_module 禁用 ngx_http_ssi_module 模块。该模块用于处理通过它的响应中的 SSI(服务器端包含)命令。

--without-http_userid_module 禁用 ngx_http_userid_module 模块,该模块设置适用于客户端标识的 cookie。

--without-http_access_module 禁用 ngx_http_access_module 模块,该模块允许限制对某些客户端地址的访问。

--without-http_auth_basic_module 禁用 ngx_http_auth_basic_module 模块,该模块允许通过使用 “HTTP Basic Authentication” 协议验证用户名和密码来限制对资源的访问。

--without-http_mirror_module 禁用 ngx_http_mirror_module 模块。

--without-http_autoindex_module 禁用 ngx_http_autoindex_module 模块。该模块处理以斜杠字符 “/” 结尾的请求,并生成目录列表。

--without-http_geo_module 禁用 ngx_http_geo_module 模块,该模块使用取决于客户端 IP 地址的值来创建变量。

--without-http_map_module 禁用 ngx_http_map_module 模块,该模块创建的变量的值取决于其他变量的值。

--without-http_split_clients_module 禁用 ngx_http_split_clients_module 模块,该模块创建用于 A/B 测试的变量。

--without-http_referer_module 禁用 ngx_http_referer_module 模块,该模块可以阻止对 “Referer” 标头字段中具有无效值的请求的站点访问。

--without-http_rewrite_module 禁用 URL 转发(rewrite)。

--without-http_proxy_module 禁用 HTTP 服务器代理(proxy)模块。

--without-http_fastcgi_module 禁用 ngx_http_fastcgi_module 模块。该模块允许将请求传递到 FastCGI 服务器。

--without-http_uwsgi_module 禁用 ngx_http_uwsgi_module 模块。该模块允许将请求传递到 uwsgi 服务器。

--without-http_scgi_module 禁用 ngx_http_scgi_module 模块。该模块允许将请求传递到 SCGI 服务器。

--without-http_grpc_module 禁用 ngx_http_grpc_module 模块。该模块允许将请求传递到 gRPC 服务器。

--without-http_memcached_module 禁用 ngx_http_memcached_module 模块,该模块用于从内存缓存服务器(memcached)获取响应。

--without-http_limit_conn_module 禁用 ngx_http_limit_conn_module 模块,该模块限制每个键的连接数,特别是来自单个 IP 地址的连接数。

--without-http_limit_req_module 禁用 ngx_http_limit_req_module 模块,该模块用于限制每一个定义的密钥的请求的处理速率,特别是从一个单一的 IP 地址的请求的处理速率。

--without-http_empty_gif_module 禁用生成发射单像素透明 GIF 的模块。

--without-http_browser_module 禁用 ngx_http_browser_module 模块,该模块创建变量,创建变量,其值取决于 “User-Agent” 请求标头字段的值。

--without-http_upstream_hash_module 禁用 hash 负载平衡方法的模块。

--without-http_upstream_ip_hash_module 禁用 ip_hash 负载平衡方法的模块。

--without-http_upstream_least_conn_module 禁用 least_conn 负载平衡方法的模块。

--without-http_upstream_keepalive_module 禁用提供到 upstream 内服务器连接缓存的模块。

--without-http_upstream_zone_module 禁用可以将 upstream 的运行时状态存储在共享内存区域中的模块。

--without-http 禁用 HTTP 服务器。

--without-http-cache 禁用 HTTP 缓存。

默认未构建的模块

PS:dynamic,表示支持动态加载的模块。

--with-select_module 启用 select() 方法的模块。

--with-poll_module 启用 poll() 方法的模块。

--with-threads 启用线程池的使用。

--with-file-aio 启用异步文件I/O(AIO)。

--with-http_ssl_module 启用 HTTPS 协议支持,需要 OpenSSL 库。默认情况下未构建此模块。

--with-openssl=path 设置 OpenSSL 库源的路径。

--with-openssl-opt=parameters 为 OpenSSL 设置其他构建选项。

--with-http_v2_module 启用 HTTP/2 协议支持。默认情况下未构建此模块。

--with-http_realip_module 启用 ngx_http_realip_module 模块的功能,该模块将客户端地址更改为在指定的 "header " 字段中发送的地址。默认情况下未构建此模块。

--with-http_addition_module 启用 ngx_http_addition_module 模块,该模块可在响应之前和之后添加文本。默认情况下未构建此模块。

--with-http_sub_module 启用 ngx_http_sub_module 模块,该模块通过将一个指定的字符串替换为另一个指定的字符串来修改响应。默认情况下未构建此模块。

--with-http_dav_module 启用 ngx_http_dav_module 模块,该模块通过 WebDAV 协议提供文件管理自动化。默认情况下未构建此模块。

--with-http_flv_module 启用 ngx_http_flv_module 模块,该模块为 Flash Video (FLV) 文件提供伪流服务器端支持。默认情况下未构建此模块。

--with-http_mp4_module 启用 ngx_http_mp4_module 模块,该模块为 MP4 文件提供伪流服务器端支持。默认情况下未构建此模块。

--with-http_gunzip_module 对于不支持 “gzip” 的客户端,启用 ngx_http_gunzip_module 模块,使用 “Content-Encoding: gzip” 解压缩响应。默认情况下未构建此模块。

--with-http_gzip_static_module 启用 ngx_http_gzip_static_module 模块,该模块支持发送扩展名为 “.gz” 的预压缩文件,而不是常规文件。默认情况下未构建此模块。

--with-http_auth_request_module 启用 ngx_http_auth_request_module 模块,该模块基于子请求的结果实现客户端授权。默认情况下未构建此模块。

--with-http_random_index_module 启用 ngx_http_random_index_module 模块,该模块处理以斜杠 “/” 结尾的请求,并在目录中选择一个随机文件作为索引文件。默认情况下未构建此模块。

--with-http_secure_link_module 启用 ngx_http_secure_link_module 模块。该模块用于检查请求链接的真实性,保护资源不受未经授权的访问,并限制链接生存期。默认情况下未构建此模块。

--with-http_degradation_module 启用 ngx_http_degradation_module 模块。默认情况下未构建此模块。

--with-http_slice_module 启用 ngx_http_slice_module 模块,该模块将请求拆分为多个子请求,每个子请求都返回一定范围的响应。可为大响应提供更有效的缓存。默认情况下未构建此模块。

--with-http_stub_status_module 启用 ngx_http_stub_status_module 模块,该模块提供对基本状态信息的访问。默认情况下未构建此模块。

--with-http_xslt_module--with-http_xslt_module=dynamic 启用 ngx_http_xslt_module 模块,该模块是一个过滤器,可使用一个或多个 XSLT 样式表转换 XML 响应。构建和运行此模块需要 libxml2 和 libxslt 库。默认情况下未构建此模块。

--with-http_image_filter_module--with-http_image_filter_module=dynamic 启用 ngx_http_image_filter_module 模块,该模块可以转换 JPEG,GIF,PNG 和 WebP 格式的图像。构建和运行此模块需要 libgd 库。默认情况下未构建此模块。

--with-http_geoip_module--with-http_geoip_module=dynamic 启用 ngx_http_geoip_module 模块,该模块根据客户端 IP 地址和预编译的 MaxMind 数据库创建变量。默认情况下未构建此模块。

--with-google_perftools_module 启用 ngx_google_perftools_module 模块,以使用 Google Performance Tools 对 nginx 性能分析。该模块供 ngin 开发人员使用。默认情况下未构建。

--with-cpp_test_module 启用 ngx_cpp_test_module 模块。

--with-compat 启用动态模块兼容性。

--with-cc=path 设置 C 编译器的名称。

--with-cpp=path 设置 C 预处理器的名称。

--with-cc-opt=parameters 设置将添加到 CFLAGS 变量的其他参数。在 FreeBSD 下使用系统 PCRE 库时,应指定

-with cc opt="-I/usr/local/include"

如果需要增加 select() 支持的文件数,也可以在此处指定,例如:

--with cc opt="-D FD_SETSIZE=2048"

--with-ld-opt=parameters 设置将在链接期间使用的其他参数。在 FreeBSD 下使用系统 PCRE 库时,应指定

--with-ld-opt="-L /usr/local/lib"

--with-cpu-opt=cpu 按指定的 CPU 启用生成:pentium、pentiumpro、pentium3、pentium4、athlon、opteron、sparc32、sparc64、ppc64。

--with-zlib=path 设置 zlib 库源的路径。

--with-zlib-opt=parameters 为 zlib 设置其他构建选项。

--with-zlib-asm=cpu 指定 CPU 来优化 zlib 汇编源程序:pentium、pentiumpro。

--with-libatomic 强制使用 libatomic_ops 库。

--with-libatomic=path 设置 libatomic_ops 库源的路径。

--with-debug 启用调试日志。

--add-module=path 启用外部模块。

--add-dynamic-module=path 启用外部动态模块。

--modules-path=path nginx 动态模块的目录。默认值:<prefix>/modules目录。

perl 模块相关配置

--with-http_perl_module--with-http_perl_module=dynamic 启用 ngx_http_perl_module 模块,该模块用于在 Perl 中实现位置和变量处理程序,并将 Perl 调用插入 SSI。默认情况下未构建此模块。

--with-perl_modules_path=path 定义保留 Perl 的目录。

--with-perl=path 设置 Perl 的名称。

pcre 模块的相关配置

--without-pcre 禁用 PCRE 库的用法。

--with-pcre 强制使用 PCRE 库。

--with-pcre=path 设置 PCRE 库源的路径。

--with-pcre-opt=parameters 为 PCRE 设置其他构建选项。

--with-pcre-jit 使用即时编译(just-in-time compilation)技术,需要支持 pcre_jit 指令的 PCRE 库。

邮件代理服务器相关配置

--with-mail--with-mail=dynamic 启用 POP3/IMAP4/SMTP 邮件代理服务器。

--with-mail_ssl_module 启用 SSL/TLS 协议支持的邮件代理功能。构建和运行此模块需要 OpenSSL 库。默认情况下未构建此模块。

--without-mail_pop3_module 禁用 POP3 协议。

--without-mail_imap_module 禁用 IMAP 协议。

--without-mail_smtp_module 禁用 SMTP 协议。

stream 模块相关设置

--with-stream--with-stream=dynamic 启用通用 TCP/UDP 代理和负载平衡的 stream 模块。默认情况下未构建此模块。

--with-stream_ssl_module 启用 stream 模块的 SSL/TLS 协议支持。构建和运行此模块需要 OpenSSL 库。默认情况下未构建此模块。

--with-stream_realip_module 启用 ngx_stream_realip_module 模块的功能,该模块将客户端地址更改为 PROXY 协议标头中发送的地址。默认情况下未构建此模块。

--with-stream_geoip_module--with-stream_geoip_module=dynamic 启用 ngx_stream_geoip_module 模块,该模块根据客户端 IP 地址和预编译的 MaxMind数据库创建变量。默认情况下未构建此模块。

--with-stream_ssl_preread_module 启用 ngx_stream_ssl_preread_module 模块,该模块允许从 ClientHello 消息中提取信息,而无需终止 SSL/TLS。默认情况下未构建此模块。

--without-stream_limit_conn_module 禁用 ngx_stream_limit_conn_module 模块,该模块用于限制每个定义的键连接的数量,尤其是从一个单一的 IP 地址的连接的数量。

--without-stream_access_module 禁用 ngx_stream_access_module 模块,该模块允许限制对某些客户端地址的访问。

--without-stream_geo_module 禁用 ngx_stream_geo_module 模块,该模块创建的变量的值取决于客户端 IP 地址。

--without-stream_map_module 禁用 ngx_stream_map_module 模块,该模块创建的变量值取决于其他变量的值。

--without-stream_split_clients_module 禁用 ngx_stream_split_clients_module 模块,该模块创建用于 A/B 测试的变量。

--without-stream_return_module 禁用 ngx_stream_return_module 模块,该模块向客户端发送一些指定的值,然后关闭连接。

--without-stream_upstream_hash_module 禁用 hash 负载平衡方法的模块。

--without-stream_upstream_least_conn_module 禁用 least_conn 负载平衡方法的模块。

--without-stream_upstream_zone_module 禁用可以将上行组的运行时状态存储在共享内存区域中的模块。