nginx-1.13.12 源码配置清单
configure命令支持以下参数:
--help
打印帮助信息。
--prefix=安装路径
定义一个将保留服务器文件的目录。这个相同的目录也将被用于由configure(由库源创建的路径除外)和nginx.conf配置文件中设置的所有相对路径。它/usr/local/nginx默认设置为目录。
--sbin-path=path
设置一个nginx可执行文件的名称。该名称仅在安装期间使用。默认情况下该文件被命名 prefix/sbin/nginx。
--modules-path=模块路径
定义一个将安装nginx动态模块的目录。默认情况下使用该prefix/modules目录。
--conf-path=path
设置nginx.conf配置文件的名称。如果需要,通过在命令行参数中指定nginx,nginx始终可以使用不同的配置文件启动 。默认情况下该文件被命名 。 -c fileprefix/conf/nginx.conf
--error-log-path=错误日志路径
设置主要错误的名称,警告和诊断文件。安装完成后,可以nginx.conf使用error_log指令始终在配置文件中 更改文件名。默认情况下该文件被命名 prefix/logs/error.log。
--pid-path=pid号路径
设置nginx.pid将存储主进程的进程ID 的文件的名称。安装后,可以nginx.conf使用pid指令随时在配置文件中 更改文件名 。默认情况下该文件被命名 prefix/logs/nginx.pid。
--lock-path=path
为锁文件的名称设置前缀。安装完成后,可以nginx.conf使用lock_file指令随时在配置文件中 更改该值 。默认值是 prefix/logs/nginx.lock。
--user=name
设置其凭据将由工作进程使用的非特权用户的名称。安装后,可以nginx.conf使用user指令始终在配置文件中 更改名称 。默认的用户名是nobody。
--group=name
设置工作进程将使用其凭据的组的名称。安装后,可以nginx.conf使用user指令始终在配置文件中 更改名称 。默认情况下,组名称设置为非特权用户的名称。
--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
可以构建一个将HTTP协议支持添加 到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
可以构建 使用一个或多个XSLT样式表转换XML响应的 ngx_http_xslt_module模块。该模块不是默认生成的。该libxml2的和 的libxslt库需要构建和运行此模块。
--with-http_image_filter_module
--with-http_image_filter_module=dynamic
可以构建 用于转换JPEG,GIF,PNG和WebP格式图像的 ngx_http_image_filter_module模块。该模块不是默认生成的。
--with-http_geoip_module
--with-http_geoip_module=dynamic
可以构建 根据客户端IP地址和预编译的MaxMind数据库创建变量的 ngx_http_geoip_module模块。该模块不是默认生成的。
--with-http_sub_module
通过将一个指定的字符串替换为另一个指定的字符串, 可以构建修改响应的 ngx_http_sub_module模块。该模块不是默认生成的。
--with-http_dav_module
可以构建 通过WebDAV协议提供文件管理自动化的 ngx_http_dav_module模块。该模块不是默认生成的。
--with-http_flv_module
可以构建 为Flash视频(FLV)文件提供伪流式服务器端支持的 ngx_http_flv_module模块。该模块不是默认生成的。
--with-http_mp4_module
可以构建 为MP4文件提供伪流式服务器端支持的 ngx_http_mp4_module模块。该模块不是默认生成的。
--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模块。该模块不是默认生成的。
--without-http_charset_module
禁用构建ngx_http_charset_module 模块,该 模块将指定的字符集添加到“Content-Type”响应头字段,并且可以另外将数据从一个字符集转换为另一个字符集。
--without-http_gzip_module
禁用构建压缩 HTTP服务器响应的模块。需要zlib库来构建和运行此模块。
--without-http_ssi_module
禁止构建 处理SSI(服务器端包含)命令的 ngx_http_ssi_module模块通过它传递的响应。
--without-http_userid_module
禁用构建 将cookie设置为适合客户端标识的 ngx_http_userid_module模块。
--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_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服务器的主要请求日志文件的名称。安装之后,可以nginx.conf使用access_log指令随时在配置文件中 更改文件名 。默认情况下该文件被命名 prefix/logs/access.log。
--http-client-body-temp-path=path
定义一个用于存储保存客户端请求体的临时文件的目录。安装完成后,可以nginx.conf使用client_body_temp_path 指令始终在配置文件中 更改目录 。默认情况下,该目录是命名的 prefix/client_body_temp。
--http-proxy-temp-path=path
定义了一个目录,用于存储从代理服务器接收到的数据的临时文件。安装后,可以nginx.conf使用proxy_temp_path 指令始终在配置文件中 更改目录 。默认情况下,该目录是命名的 prefix/proxy_temp。
--http-fastcgi-temp-path=path
定义一个目录,用于存储从FastCGI服务器接收到的数据的临时文件。安装完成后,可以nginx.conf使用fastcgi_temp_path 指令在配置文件中 更改目录 。默认情况下,该目录是命名的 prefix/fastcgi_temp。
--http-uwsgi-temp-path=path
定义一个目录,用于存储从uwsgi服务器接收到的数据的临时文件。安装之后,可以nginx.conf使用uwsgi_temp_path 指令始终在配置文件中 更改目录 。默认情况下,该目录是命名的 prefix/uwsgi_temp。
--http-scgi-temp-path=path
定义了一个目录,用于存储从SCGI服务器接收到的数据的临时文件。安装完成后,可以nginx.conf使用scgi_temp_path 指令始终在配置文件中 更改目录 。默认情况下,该目录是命名的 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 模块,该 模块允许从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
禁用构建 为A / B测试创建变量的 ngx_stream_split_clients_module模块。
--without-stream_return_module
禁用构建ngx_stream_return_module 模块,该 模块向客户端发送一些指定的值,然后关闭连接。
--without-stream_upstream_hash_module
禁用构建实现散列 负载平衡方法的模块 。
--without-stream_upstream_least_conn_module
禁用构建实现least_conn 负载平衡方法的模块 。
--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库的源。图书馆发行版(版本4.4 - 8.41)需要从PCRE网站下载 并提取。其余的由nginx的./configure和 make。该库是位置指令和 ngx_http_rewrite_module 模块支持正则表达式所必需的 。
--with-pcre-opt=parameters
为PCRE设置了额外的构建选项。
--with-pcre-jit
使用“即时编译”支持(1.1.12,pcre_jit指令)构建PCRE库 。
--with-zlib=path
将路径设置为zlib库的来源。库分发(版本1.1.3 - 1.2.11)需要从zlib站点下载 并解压缩。其余的由nginx的./configure和 make。该库是ngx_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 =.. /pcre-8.41
--with-zlib = .. /zlib-1.2.11
配置完成后,nginx被编译并使用安装make。
欢迎加入QQ群一起讨论Linux、开源等技术