Nginx详细编译参数
本参数基于Nginx-1.15.2安装包
一 路径参数
1.1.1 指定Nginx安装路径
--prefix=/usr/local/nginx-1.15.2
1.1.2 设置Nginx可执行文件路径默认路径在 --prefix指定的路径下的bin
--sbin-path=PATH
1.1.3 设置Nginx模块路径
--modules-path=PATH
1.1.4 设置在nginx.conf配置文件的路径 默认路径:--prefix指定的路径下的conf
--conf-path=PATH
1.1.5 设置主错误,警告等文件日志路径 默认在:--prefix指定的路径下的logs 安装完成后随配置文件改变
--error-log-path=PATH
1.1.6 设置Nginx Pid文件路径 默认:--prefix指定的路径下的logs/nginx.pid安装完成后随配置文件改变
--pid-path=PATH
1.1.7 设置Nginx锁文件路径 nginx.lock是nginx保证只有1个服务运行的锁文件, nginx启动时会自动创建
--lock-path=PATH
1.1.8 设置编译的名字
--build=NAME
1.1.9 设置编译路径
--builddir=DIR
1.2.0 设置perl模块路径 和设置perl库文件路径
--with-perl_modules_path=PATH set Perl modules path --with-perl=PATH set perl binary pathname
1.2.1 设置日志路径 可在配置文件设置
--http-log-path=path
1.2.2 设置客户端请求临时文件路径 可在配置文件设置
--http-client-body-temp-path=PATH
1.2.3 设置http proxy临时文件路径 可在配置文件设置
--http-proxy-temp-path=PATH
1.2.4 设置http fastcgi临时文件路径 可在配置文件设置
--http-fastcgi-temp-path=PATH
1.2.5 定义了一个目录来存储临时文件 收到uwsgi服务器数据 可在配置文件设置
--http-uwsgi-temp-path=PATH
1.2.6 定义了一个目录来存储临时文件 收到SCGI服务器数据 可在配置文件设置
--http-scgi-temp-path=PATH
1.2.7 使用外部模块路径
--add-module=path
1.2.8 使外部动态模块路径
--add-dynamic-module=path
1.2.9 设置C编译器路径
--with-cc=PATH
1.3.0 设置C预处理路径
--with-cc-opt=OPTIONS
1.3.1 设置C编译器参数 设置其他参数,将被添加到CFLAGS变量
--with-cc-opt=parameters
1.3.2 设置连接文件参数 --with-ld-opt="-L /usr/local/lib"
应该被指定。
--with-ld-opt=parameters
1.3.3 每个指定的CPU使建筑:pentium
,pentiumpro
,pentium3
,pentium4
,athlon
,opteron
,sparc32
,sparc64
,ppc64
。
--with-cpu-opt=cpu
1.3.4 不使用pcre库文件,pcre是包括 perl 兼容的正规表达式库
--without-pcre
1.3.4 启用pcre
--with-pcre
1.3.4 设置pcre库路径
--with-pcre=path
1.3.4 设置pcre运行参数
--with-pcre-opt=parameters
1.3.4 即时编译pcre
--with-pcre-jit
1.3.5 设置zlib库路径
--with-zlib=path
--with-zlib-opt=parameters
--with-zlib-asm=cpu #允许使用zlib汇编优化的来源 为指定的cpu之一:
pentium
,pentiumpro
1.3.6 libatomic
--with-libatomic #启用 --with-libatomic=path #libatomic路径
1.3.7 设置openssl
--with-openssl=path #设置路径OpenSSL库来源。
--with-openssl-opt=parameters #OpenSSL设置额外的构建选项。
1.3.8使调试日志
--with-debug
二 设置用户系列
2.1.1 指定nginx运行用户
--user=USER
2.1.2 指定Nginx运行组
--user=USER
三 模块设置
3.1.1 允许或不允许开启SELECT模式
--with-select_module enable select module --without-select_module disable select module
3.1.2 启用或禁用编译模块,允许服务器工作 与poll()
方法。 这个模块是建立自动如果平台不出现 支持更适当的方法如kqueue,epoll或/dev/poll.
--with-poll_module enable poll module
--without-poll_module disable poll module
3.1.3 允许的线程池
--with-threads enable thread pool support
3.1.4 允许使用的异步文件I / O(AIO)在FreeBSD和Linux。
--with-file-aio enable file AIO support
3.1.5 启用 ngx_http_ssl_module 支持(使支持 https 请求,需已安装openssl)
--with-http_ssl_module
3.1.6 供支持HTTP / 2
--with-http_v2_module
3.1. 7 启用 ngx_http_realip_module 支持(这个模块允许从请求标头更改客户端的 IP 地址值,默认为关)
--with-http_v2_module
3.1.8 启用 ngx_http_addition_module 支持(作为一个输出过滤器,支持不完全缓冲,分部分响应请求)
--with-http_realip_module
3.1.9 启用 ngx_http_addition_module 支持(作为一个输出过滤器,支持不完全缓冲,分部分响应请求)
--with-http_realip_module
3.2.0 在响应之前或者之后追加文本内容。 这个模块不是建立在默认情况下是启用
--with-http_addition_module
3.2.1 这个模块是一个过滤器,它可以通过XSLT模板转换XML应答 默认用 这个模块需要libxml2和libxslt库。支持
--with-http_xslt_module enable ngx_http_xslt_module
--with-http_xslt_module=dynamic enable dynamic ngx_http_xslt_module
3.2.2 http_image_filter_module是nginx提供的集成图片处理模块,支持nginx-0.7.54以后的版本,在网站访问量不是很高磁盘有限不想生成多余的图片文件的前提下可,就可以用它实时缩放图片,旋转图片,验证图片有效性以及获取图片宽高以及图片类型信息 默认用
--with-http_image_filter_module enable ngx_http_image_filter_module --with-http_image_filter_module=dynamic enable dynamic ngx_http_image_filter_module
3.2.3 取值于客户端IP地址,使用预编译MaxMind数据库 可以禁用指定国家访问
--with-http_geoip_module enable ngx_http_geoip_module
--with-http_geoip_module=dynamic enable dynamic ngx_http_geoip_module
3.2.4 启用 ngx_http_sub_module 支持(允许用一些其他文本替换nginx 响应中的一些文本)
--with-http_sub_module
3.2.5 启用ngx_http_dav_module支持(增加PUT,DELETE,MKCOL:创建集合,COPY 和 MOVE 方法为文件和目录指定权限,限制不同类型的用户对于页面有不同的操作权限)默认情况下为关闭,需编译开启
--with-http_dav_module
3.2.6 启用 ngx_http_flv_module 支持(提供寻求内存使用基于时间的偏移量文件,这个模块支持对FLV(flash)文件的拖动播放)
--with-http_flv_module
3.2.7 模块提供pseudo-streaming服务器端支持 MP4文件
--with-http_mp4_module
3.2.8 解压缩响应 以“Content-Encoding: gzip
” 为客户,不支持gzip编码方法
--with-http_gunzip_module
3.2.9 启用 ngx_http_gzip_static_module 支持(在线实时压缩输出数据流,这个模块在一个预压缩文件传送到开启Gzip压缩的客户端之前检查是否已经存在以“.gz”结尾的压缩文件,这样可以防止文件被重复压缩。)
--with-http_gzip_static_module
3.3.0 实现客户端授权 基于subrequest的结果
--with-http_auth_request_module
3.3.1 从目录中选择一个随机主页
--with-http_random_index_module
3.3.2 防止盗链下载
--with-http_secure_link_module
3.3.3 CDN系统中,向父层回源时,如果文件过大,使用slice可以让用户快速得到响应。
--with-http_slice_module
3.3.4 启用ngx_http_stub_status_module支持(获取nginx自上次启动以来的工作状态)
--with-http_stub_status_module
3.3.5 Nginx配置能够扩展使用Perl代码。这个选项启用这个模块(然而使用这个模块会降低性能)
--with-http_perl_module
--with-http_perl_module enable ngx_http_perl_module
--with-http_perl_module=dynamic enable dynamic ngx_http_perl_module
3.3.6 模块开启mysql外网地址tcp/udp代理stream
--with-stream enable TCP/UDP proxy module
--with-stream=dynamic enable dynamic TCP/UDP proxy module
3.3.7 为代理流服务器提供必要的SSL/TLS协议支持。该模块默认不会启用,需要通过–with-stream_ssl_module配置参数启用
--with-stream_ssl_module
3.3.8 处理来自client客户端的TCP/UDP session
--with-stream_realip_module
3.3.9 使用Nginx 和 GeoIP 模块的可以来处理不同地区的访问 需要MaxMind数据库支持
--with-stream_geoip_module
--with-stream_geoip_module=dynamic
3.4.0 允许提取的信息ClientHello消息没有终止SSL / TLS
--with-stream_ssl_preread_module
3.4.1 模块,使分析nginx工作进程使用谷歌性能工具。 模块适用于nginx开发人员
--with-google_perftools_module
3.4.2 使建筑ngx_cpp_test_module
模块
--with-cpp_test_module
四 邮件设置
4.1.1 允许POP3/IMAP4/SMTP代理模块
--with-mail
--with-mail=dynamic
4.1.2 支持建立模块,添加了SSL / TLS协议的支持邮件代理服务器 OpenSSL库支持
--with-mail_ssl_module
4.1.3 禁用POP3协议 在邮件代理服务器
--without-mail_pop3_module
4.1.4 禁用IMAP协议 在邮件代理服务器
--without-mail_imap_module
4.1.5 禁用SMTP协议 在邮件代理服务器
--without-mail_smtp_module
五 一些禁用参数默认开启除特殊情况外关闭
5.1.1 限制连接数ngx_http_limit_conn_module模块
--without-stream_limit_conn_module
5.1.2 禁止 允许限制访问某些客户端地址的 ngx_stream_access_module模块
--without-stream_access_module
5.1.3根据客户端IP地址创建变量述指定变量的值与客户端IP地址之间的依赖关系。默认情况下,地址从$remote_addr变量中获取
--without-stream_geo_module
5.1.4 模块创建变量 值取决于其他变量的值
--without-stream_map_module
5.1.5 模块为A / B测试创建变量
--without-stream_split_clients_module
5.1.6 模块,向客户端发送一些指定值 然后关闭连接
--without-stream_return_module
5.1.7 禁用模块实现哈希负载平衡方法
--without-stream_upstream_hash_module
5.1.8 禁用模块实现least_conn负载平衡方法
--without-stream_upstream_least_conn_module
5.1.9 禁止模块可以存储运行时状态 一群上游的共享内存区
--without-stream_upstream_random_module
5.2.0 默认开启 下面禁用方法 这个模块将在应答头中为"Content-Type"字段添加字符编码 另外,可以将数据从一个字符集转换为另一种形式。
--without-http_charset_module
5.2.1 默认开启 下面禁用方法 不使用ngx_http_gzip_module模块,文件压缩模式
--without-http_gzip_module
5.2.2 默认开启 下面禁用方法 那压缩响应一个HTTP服务器。 zlib库需要构建并运行该模块
--without-http_ssi_module
5.2.3 默认开启 下面禁用方法 适合客户端识别。 收到并设置cookie可以登录使用嵌入的变量
--without-http_userid_module
5.2.4 默认开启 下面禁用方法 模块允许限制访问某些客户端地址
--without-http_access_module
5.2.5 默认开启 下面禁用方法 验证模块,允许限制对资源的访问的用户名 和密码使用HTTP基本身份验证协议。默认开启
--without-http_auth_basic_module
5.2.6 默认开启 下面禁用方法 模块ngx_http_auth_basic_module允许使用“HTTP基本认证”协议验证用户名和密码来限制对资源的访问 默认开启
--without-http_mirror_module
5.2.7 默认开启 下面禁用方法 禁用自动索引模块
--without-http_autoindex_module
5.2.8 默认开启 下面禁用方法
该模块允许你定义
依赖于IP地址段的变量
--without-http_geo_module
5.2.9默认开启 下面禁用方法 禁用Map模块,该模块允许你声明map区段
--without-http_map_module
5.3.0 默认开启 下面禁用方法 对比测试
--without-http_split_clients_module
5.3.1 不使用HTTP server功能,如果只是做代理服务器,可以不提供http服务 和禁用HTTP缓存。
--without-http disable HTTP server
--without-http-cache disable HTTP cache
作者:闫世成
出处:http://cnblogs.com/yanshicheng