从源码编译 Nginx 选项参数说明

使用 configure 命令配置构建。它定义了系统的各个方面,包括允许 nginx 用于连接处理的方法。最后它创建一个 Makefile。该 configure 命令支持以下参数:

  • --help

    打印一条帮助信息。

  • --prefix=*path*

    定义将保存服务器文件的目录。这个相同的目录也将用于设置的所有相对路径 configure(除了库源的路径)和 nginx.conf 配置文件中。默认设置为 /usr/local/nginx 目录。

  • --sbin-path=*path*

    设置 nginx 可执行文件的名称。此名称仅在安装期间使用。默认情况下,该文件名为 *prefix*/sbin/nginx.

  • --modules-path=*path*

    定义将安装 nginx 动态模块的目录。默认情况下 *prefix*/modules 使用该目录。

  • --conf-path=*path*

    设置 nginx.conf 配置文件的名称。如果需要,nginx 始终可以通过在命令行参数中指定不同的配置文件来启动。默认情况下,该文件名为 . -c *file*``*prefix*/conf/nginx.conf

  • --error-log-path=*path*

    设置主要错误、警告和诊断文件的名称。安装后,始终可以 使用error_log指令在nginx.conf配置文件 中更改文件名。默认情况下,该文件名为 . *prefix*/logs/error.log

  • --pid-path=*path*

    设置nginx.pid将存储主进程的进程 ID 的文件的名称。安装后,始终可以 使用pid指令在nginx.conf配置文件 中更改文件名。默认情况下,该文件名为 . *prefix*/logs/nginx.pid

  • --lock-path=*path*

    为锁定文件的名称设置前缀。安装后,始终可以 使用lock_file指令在nginx.conf配置文件 中更改该值。默认值为 . *prefix*/logs/nginx.lock

  • --user=*name*

    设置非特权用户的名称,其凭据将由工作进程使用。安装后,始终可以 使用用户指令在nginx.conf配置文件 中更改名称。默认用户名为 nobody。

  • --group=*name*

    设置工作进程将使用其凭据的组的名称。安装后,始终可以 使用用户指令在nginx.conf配置文件 中更改名称。默认情况下,组名设置为非特权用户的名称。

  • --build=*name*

    设置可选的 nginx 构建名称。

  • --builddir=*path*

    设置构建目录。

  • --with-select_module --without-select_module

    启用或禁用构建允许服务器使用该select()方法的模块。如果平台似乎不支持更合适的方法(如 kqueue、epoll 或 /dev/poll),则会自动构建此模块。

  • --with-poll_module --without-poll_module

    启用或禁用构建允许服务器使用该poll()方法的模块。如果平台似乎不支持更合适的方法(如 kqueue、epoll 或 /dev/poll),则会自动构建此模块。

  • --with-threads

    启用 线程池 的使用。

  • --with-file-aio

    允许在 FreeBSD 和 Linux 上使用 异步文件 I/O (AIO)。

  • --with-http_ssl_module

    可以构建一个模块,将 HTTPS 协议支持 添加 到 HTTP 服务器。默认情况下不构建此模块。构建和运行此模块需要 OpenSSL 库。

  • --with-http_v2_module

    能够构建一个提供对 HTTP/2 支持的模块。默认情况下不构建此模块。

  • --with-http_realip_module

    启用构建 ngx_http_realip_module 模块,将客户端地址更改为在指定标头字段中发送的地址。默认情况下不构建此模块。

  • --with-http_addition_module

    启用构建在 响应前后添加文本的 ngx_http_addition_module 模块 默认情况下不构建此模块。

  • --with-http_xslt_module --with-http_xslt_module=dynamic

    启用构建 ngx_http_xslt_module 模块,该模块使用一个或多个 XSLT 样式表转换 XML 响应。默认情况下不构建此模块。构建和运行此模块需要 libxml2libxslt 库。

  • --with-http_image_filter_module --with-http_image_filter_module=dynamic

    启用构建 ngx_http_image_filter_module 模块,将图像转换为 JPEG、GIF、PNG 和 WebP 格式。默认情况下不构建此模块。

  • --with-http_geoip_module --with-http_geoip_module=dynamic

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

  • --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 视频 (FLV) 文件提供伪流式服务器端支持。默认情况下不构建此模块。

  • --with-http_mp4_module

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

  • --with-http_gunzip_module

    启用构建 ngx_http_gunzip_module 模块,Content-Encoding: gzip为不支持“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 模块,该模块提供对基本状态信息的访问。默认情况下不构建此模块。

  • --without-http_charset_module

    禁用构建 ngx_http_charset_module 模块,该模块将指定的字符集添加到“Content-Type”响应标头字段,并且可以另外将数据从一个字符集转换为另一个字符集。

  • --without-http_gzip_module

    禁用构建压缩 HTTP 服务器 响应的模块 构建和运行此模块需要 zlib 库。

  • --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 基本身份验证”协议验证用户名和密码来限制对资源的访问。

  • --without-http_mirror_module

    禁用构建 ngx_http_mirror_module 模块,该模块通过创建后台镜像子请求来实现原始请求的镜像。

  • --without-http_autoindex_module

    禁用构建 ngx_http_autoindex_module 模块,该模块处理以斜杠字符 (' /') 结尾的请求并生成目录列表,以防 ngx_http_index_module 模块找不到索引文件。

  • --without-http_geo_module

    禁用构建 ngx_http_geo_module 模块,该模块根据客户端 IP 地址创建具有值的变量。

  • --without-http_map_module

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

  • --without-http_split_clients_module

    禁止构建 为 A/B 测试创建变量的 ngx_http_split_clients_module 模块。

  • --without-http_referer_module

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

  • --without-http_rewrite_module

    禁用构建允许 HTTP 服务器 重定向请求和更改请求 URI 的模块。构建和运行此模块需要 PCRE 库。

  • --without-http_proxy_module

    禁用构建 HTTP 服务器 代理模块

  • --without-http_fastcgi_module

    禁用构建 将请求传递到 FastCGI 服务器的 ngx_http_fastcgi_module 模块。

  • --without-http_uwsgi_module

    禁用构建 将请求传递到 uwsgi 服务器 的ngx_http_uwsgi_module 模块。

  • --without-http_scgi_module

    禁用构建 将请求传递到 SCGI 服务器 的ngx_http_scgi_module 模块。

  • --without-http_grpc_module

    禁用构建 将请求传递到 gRPC 服务器 的ngx_http_grpc_module 模块。

  • --without-http_memcached_module

    禁用构建 从 memcached 服务器获取响应 的ngx_http_memcached_module 模块。

  • --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

    禁用构建实现 哈希 负载平衡方法的模块。

  • --without-http_upstream_ip_hash_module

    禁用构建实现 ip_hash 负载平衡方法的模块。

  • --without-http_upstream_least_conn_module

    禁用构建实现 least_conn 负载平衡方法的模块。

  • --without-http_upstream_random_module

    禁用构建实现 随机 负载平衡方法的模块。

  • --without-http_upstream_keepalive_module

    禁用构建提供 上游服务器 连接缓存的模块

  • --without-http_upstream_zone_module

    禁止构建一个模块,该模块可以将上游组的运行时状态存储在共享内存 区域 中。

  • --with-http_perl_module --with-http_perl_module=dynamic

    启用构建 嵌入式 Perl 模块。默认情况下不构建此模块。

  • --with-perl_modules_path=*path*

    定义一个将保存 Perl 模块的目录。

  • --with-perl=*path*

    设置 Perl 二进制文件的名称。

  • --http-log-path=*path*

    设置 HTTP 服务器的主要请求日志文件的名称。安装后,始终可以 使用 access_log 指令在nginx.conf配置文件 中更改文件名。默认情况下,该文件名为 *prefix*/logs/access.log

  • --http-client-body-temp-path=*path*

    定义一个目录,用于存储保存客户端请求主体的临时文件。安装后,始终可以 使用 client_body_temp_path 指令在nginx.conf配置文件 中更改目录。默认情况下,该目录名为 *prefix*/client_body_temp

  • --http-proxy-temp-path=*path*

    定义一个目录,用于存储临时文件,其中包含从代理服务器接收到的数据。安装后,始终可以 使用 proxy_temp_path 指令在nginx.conf配置文件 中更改目录。默认情况下,该目录名为 *prefix*/proxy_temp

  • --http-fastcgi-temp-path=*path*

    定义一个目录,用于存储临时文件,其中包含从 FastCGI 服务器接收到的数据。安装后,始终可以 使用 fastcgi_temp_path 指令在nginx.conf配置文件 中更改目录。默认情况下,该目录名为*prefix*/fastcgi_temp

  • --http-uwsgi-temp-path=*path*

    定义一个目录,用于存储从 uwsgi 服务器接收到的数据的临时文件。安装后,始终可以 使用 uwsgi_temp_path 指令在nginx.conf配置文件 中更改目录。默认情况下,该目录名为 *prefix*/uwsgi_temp

  • --http-scgi-temp-path=*path*

    定义一个目录,用于存储从 SCGI 服务器接收到的数据的临时文件。安装后,始终可以 使用 scgi_temp_path 指令在nginx.conf配置文件 中更改目录。默认情况下,该目录名为*prefix*/scgi_temp

  • --without-http

    禁用 HTTP 服务器。

  • --without-http-cache

    禁用 HTTP 缓存。

  • --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 协议。

  • --with-stream --with-stream=dynamic

    启用为通用 TCP/UDP 代理和负载平衡构建 流模块 默认情况下不构建此模块。

  • --with-stream_ssl_module

    启用构建一个模块,将 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 模块,允许在 不终止 SSL/TLS的情况下从 ClientHello消息中提取信息 默认情况下不构建此模块。

  • --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

    禁止构建 为 A/B 测试创建变量 的ngx_stream_split_clients_module 模块。

  • --without-stream_return_module

    禁用构建 向客户端发送一些指定值然后关闭连接 的ngx_stream_return_module 模块。

  • --without-stream_set_module

    禁用构建为变量设置值的 ngx_stream_set_module 模块。

  • --without-stream_upstream_hash_module

    禁用构建实现 哈希 负载平衡方法的模块。

  • --without-stream_upstream_least_conn_module

    禁用构建实现 least_conn 负载平衡方法的模块。

  • --without-stream_upstream_random_module

    禁用构建实现 随机 负载平衡方法的模块。

  • --without-stream_upstream_zone_module

    禁止构建一个模块,该模块可以将上游组的运行时状态存储在共享内存 区域 中。

  • --with-google_perftools_module

    启用构建 ngx_google_perftools_module 模块,该模块启用使用 Google Performance Tools 对 nginx 工作进程进行分析 。该模块适用于 nginx 开发人员,默认情况下不构建。

  • --with-cpp_test_module

    启用构建 ngx_cpp_test_module模块。

  • --add-module=*path*

    启用外部模块。

  • --add-dynamic-module=*path*

    启用外部动态模块。

  • --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.

  • --without-pcre

    禁用 PCRE 库的使用。

  • --with-pcre

    强制使用 PCRE 库。

  • --with-pcre=*path*

    设置 PCRE 库源的路径。库分发需要从 PCRE站点下载并解压缩。剩下的由 nginx 的./configureand 完成makelocation指令 中的正则表达式支持 和ngx_http_rewrite_module 模块需要该库。

  • --with-pcre-opt=*parameters*

    为 PCRE 设置额外的构建选项。

  • --with-pcre-jit

    使用“即时编译”支持构建 PCRE 库(1.1.12, pcre_jit指令)。

  • --without-pcre2

    禁止使用 PCRE2 库而不是原始 PCRE 库 (1.21.5)。

  • --with-zlib=*path*

    设置 zlib 库源的路径。需要从zlib站点下载并解压缩库分发版(版本 1.1.3 — 1.2.11)。剩下的由 nginx 的./configureand 完成makengx_http_gzip_module模块需要该库。

  • --with-zlib-opt=*parameters*

    为 zlib 设置额外的构建选项。

  • --with-zlib-asm=*cpu*

    启用针对指定 CPU 之一优化的 zlib 汇编程序源代码: pentium, pentiumpro.

  • --with-libatomic

    强制使用 libatomic_ops 库。

  • --with-libatomic=*path*

    设置 libatomic_ops 库源的路径。

  • --with-openssl=*path*

    设置 OpenSSL 库源的路径。

  • --with-openssl-opt=*parameters*

    为 OpenSSL 设置额外的构建选项。

  • --with-debug

    启用调试日志

参数使用示例(所有这些都需要在一行中输入):

。/configure
    --sbin-path=/usr/local/nginx/nginx
    --conf-path=/usr/local/nginx/nginx.conf
    --pid-path=/usr/local/nginx/nginx.pid
    --with-http_ssl_module
    --with-pcre=../pcre2-10.39
    --with-zlib=../zlib-1.2.11

配置完成后,使用 nginx 编译安装make

results matching ""

    No results matching ""