Nginx源码编译参数

configure决定系统的特性,以及nginx可以用来处理连接的某些特性和方法,最后它将创建Makefile。

configure支持以下选项:

-prefix= - 安装路径,如果没有指定,默认为/usr/local/nginx。

-sbin-path= - nginx可执行命令的文件,如果没有指定,默认为/sbin/nginx。

-conf-path= - 在没有使用-c参数指定的情况下nginx.conf的默认位置,如果没有指定,默认为/conf/nginx.conf。

-pid-path= - nginx.pid的路径,如果没有在nginx.conf中通过"pid"指令指定,默认为/logs/nginx.pid。

-lock-path= - nginx.lock文件路径,如果没有指定,默认为/logs/nginx.lock。

-error-log-path= - 当没有在nginx.conf中使用"error_log"指令指定时的错误日志位置,如果没有指定,默认为/logs/error.log。

-http-log-path= - 当没有在nginx.conf中使用"access_log"指令指定时的访问日志位置,如果没有指定,默认为/logs/access.log。

-user= - 当没有在nginx.conf中使用"user"指令指定时nginx运行的用户,如果没有指定,默认为"nobody"。

-group= - 当没有在nginx.conf中使用"user"指令指定时nginx运行的组,如果没有指定,默认为"nobody"。

-builddir=DIR - 设置构建目录。

-with-rtsig_module - 启用rtsig模块。

-with-selectmodule -without-selectmodule - 如果在configure的时候没有发现kqueue, epoll, rtsig或/dev/poll其中之一,select模块始终为启用状态。

-with-pollmodule -without-pollmodule - 如果在configure的时候没有发现kqueue, epoll, rtsig或/dev/poll其中之一,poll模块始终为启用状态。

-with-httpsslmodule - 启用ngxhttpssl_module,启用SSL支持并且能够处理HTTPS请求。需要OpenSSL,在Debian系统中,对应的包为libssl-dev。

-with-httprealipmodule - 启用ngxhttprealip_module

-with-httpadditionmodule - 启用ngxhttpaddition_module

-with-httpsubmodule - 启用ngxhttpsub_module

-with-httpdavmodule - 启用ngxhttpdav_module

-with-httpflvmodule - 启用ngxhttpflv_module

-with-httpstubstatus_module - 启用"server status"(服务状态)页

-without-httpcharsetmodule - 禁用ngxhttpcharset_module

-without-httpgzipmodule - 禁用ngxhttpgzip_module,如果启用,需要zlib包。

-without-httpssimodule - 禁用ngxhttpssi_module

-without-httpuseridmodule - 禁用ngxhttpuserid_module

-without-httpaccessmodule - 禁用ngxhttpaccess_module

-without-httpauthbasic_module - 禁用ngxhttpauthbasicmodule

-without-httpautoindexmodule - 禁用ngxhttpautoindex_module

-without-httpgeomodule - 禁用ngxhttpgeo_module

-without-httpmapmodule - 禁用ngxhttpmap_module

-without-httpreferermodule - 禁用ngxhttpreferer_module

-without-httprewritemodule - 禁用ngxhttprewrite_module。如果启用,需要PCRE包。

-without-httpproxymodule - 禁用ngxhttpproxy_module

-without-httpfastcgimodule - 禁用ngxhttpfastcgi_module

-without-httpmemcachedmodule - 禁用ngxhttpmemcached_module

-without-httplimitzone_module - 禁用ngxhttplimitzonemodule

-without-httpemptygif_module - 禁用ngxhttpemptygifmodule

-without-httpbrowsermodule - 禁用ngxhttpbrowser_module

-without-httpupstreamiphashmodule - 禁用ngxhttpupstreamiphash_module

-with-httpperlmodule - 启用ngxhttpperl_module

-with-perlmodulespath=PATH - 为perl模块设置路径

-with-perl=PATH - 为perl库设置路径

-http-client-body-temp-path=PATH - 为http连接的请求实体临时文件设置路径,如果没有指定,默认为/clientbodytemp

-http-proxy-temp-path=PATH - 为http代理临时文件设置路径,如果没有指定,默认为/proxy_temp

*-http-fastcgi-temp-path=PATH *- 为http fastcgi临时文件设置路径,如果没有指定,默认为/fastcgi_temp

-without-http - 禁用HTTP服务

-with-mail - 启用IMAP4/POP3/SMTP代理模块

-with-mailsslmodule - 启用ngxmailssl_module

-with-cc=PATH - 设置C编译器路径

-with-cpp=PATH - 设置C预处理器路径

-with-cc-opt=OPTIONS - 变量CFLAGS中附加的参数,用于FreeBSD中的PCRE库,同样需要指定-with-cc-opt="-I /usr/local/include",如果我们使用select()函数则需要同时增加文件描述符数量,可以通过-with-cc-opt="-D FD_SETSIZE=2048"指定。

-with-ld-opt=OPTIONS - 通过连接器的附加参数,用于FreeBSD中的PCRE库,同样需要指定-with-ld-opt="-L /usr/local/lib"。

-with-cpu-opt=CPU - 指定编译的CPU,可用的值为: pentium, pentiumpro, pentium3, pentium4, athlon, opteron, amd64, sparc32, sparc64, ppc64

-without-pcre - 禁用PCRE库文件,同时将禁用HTTP rewrite 模块,如果要在"location"指令中使用正则表达式,同样需要PCRE库。

-with-pcre=DIR - 设置PCRE库源文件路径。

-with-pcre-opt=OPTIONS - 在编译时为PCRE设置附加参数。

-with-md5=DIR - 设置md5库源文件路径。

-with-md5-opt=OPTIONS - 在编译时为md5设置附加参数。

-with-md5-asm - 使用md5汇编源。

-with-sha1=DIR - 设置sha1库源文件路径。

-with-sha1-opt=OPTIONS - 在编译时为sha1设置附加参数。

-with-sha1-asm - 使用sha1汇编源。

-with-zlib=DIR - 设置zlib库源文件路径。

-with-zlib-opt=OPTIONS - 在编译时为zlib设置附加参数。

-with-zlib-asm=CPU - 为指定的CPU使用zlib汇编源进行优化,可用值为: pentium, pentiumpro。

-with-openssl=DIR - 设置openssl库源文件路径。

-with-openssl-opt=OPTIONS - 在编译时为openssl设置附加参数。

-with-debug - 启用debug记录。

-add-module=PATH - 增加一个在PATH中的第三方模块。

编译参数可能会根据版本的不同进行变化,可以使用./configure -help查看编译参数列表。