nginx编译参数详解
configure 决定系统的特性,以及nginx可以用来处理连接的某些特性和方法,最后它将创建Makefile。 configure 支持以下选项: ?prefix=path - 安装路径,如果没有指定,默认为/usr/local/nginx。 ?sbin-path=path - nginx可执行命令的文件,如果没有指定,默
configure决定系统的特性,以及nginx可以用来处理连接的某些特性和方法,最后它将创建Makefile。
configure支持以下选项:
?prefix=
?sbin-path=
?conf-path=
?pid-path=
?lock-path=
?error-log-path=
?http-log-path=
?user=
?group=
?builddir=DIR - 设置构建目录。
?with-rtsig_module - 启用rtsig模块。
?with-select_module ?without-select_module - 如果在configure的时候没有发现kqueue, epoll, rtsig或/dev/poll其中之一,select模块始终为启用状态。
?with-poll_module ?without-poll_module - 如果在configure的时候没有发现kqueue, epoll, rtsig或/dev/poll其中之一,poll模块始终为启用状态。
?with-http_ssl_module - 启用ngx_http_ssl_module,启用SSL支持并且能够处理HTTPS请求。需要OpenSSL,在Debian系统中,对应的包为libssl-dev。
?with-http_realip_module - 启用ngx_http_realip_module
?with-http_addition_module - 启用ngx_http_addition_module
?with-http_sub_module - 启用ngx_http_sub_module
?with-http_dav_module - 启用ngx_http_dav_module
?with-http_flv_module - 启用ngx_http_flv_module
?with-http_stub_status_module - 启用”server status”(服务状态)页
?without-http_charset_module - 禁用ngx_http_charset_module
?without-http_gzip_module - 禁用ngx_http_gzip_module,如果启用,需要zlib包。
?without-http_ssi_module - 禁用ngx_http_ssi_module
?without-http_userid_module - 禁用ngx_http_userid_module
?without-http_access_module - 禁用ngx_http_access_module
?without-http_auth_basic_module - 禁用ngx_http_auth_basic_module
?without-http_autoindex_module - 禁用ngx_http_autoindex_module
?without-http_geo_module - 禁用ngx_http_geo_module
?without-http_map_module - 禁用ngx_http_map_module
?without-http_referer_module - 禁用ngx_http_referer_module
?without-http_rewrite_module - 禁用ngx_http_rewrite_module。如果启用,需要PCRE包。
?without-http_proxy_module - 禁用ngx_http_proxy_module
?without-http_fastcgi_module - 禁用ngx_http_fastcgi_module
?without-http_memcached_module - 禁用ngx_http_memcached_module
?without-http_limit_zone_module - 禁用ngx_http_limit_zone_module
?without-http_empty_gif_module - 禁用ngx_http_empty_gif_module
?without-http_browser_module - 禁用ngx_http_browser_module
?without-http_upstream_ip_hash_module - 禁用ngx_http_upstream_ip_hash_module
?with-http_perl_module - 启用ngx_http_perl_module
?with-perl_modules_path=PATH - 为perl模块设置路径
?with-perl=PATH - 为perl库设置路径
?http-client-body-temp-path=PATH - 为http连接的请求实体临时文件设置路径,如果没有指定,默认为
?http-proxy-temp-path=PATH - 为http代理临时文件设置路径,如果没有指定,默认为
?http-fastcgi-temp-path=PATH - 为http fastcgi临时文件设置路径,如果没有指定,默认为
?without-http - 禁用HTTP服务
?with-mail - 启用IMAP4/POP3/SMTP代理模块
?with-mail_ssl_module - 启用ngx_mail_ssl_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查看编译参数列表。
示例
示例1
./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-4.4 \ --with-zlib=../zlib-1.1.3
示例2
./configure \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --pid-path=/var/run/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --http-log-path=/var/log/nginx/access.log \ --with-http_dav_module \ --http-client-body-temp-path=/var/lib/nginx/body \ --with-http_ssl_module \ --http-proxy-temp-path=/var/lib/nginx/proxy \ --with-http_stub_status_module \ --http-fastcgi-temp-path=/var/lib/nginx/fastcgi \ --with-debug \ --with-http_flv_module
示例3
用于基于RedHat的系统(RHEL, CentOS, Fedora)。
首先,安装依赖包:
yum install gcc openssl-devel pcre-devel zlib-devel
然后运行configure:
./configure \ --prefix=/usr \ --sbin-path=/usr/sbin/nginx \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --user=nginx \ --group=nginx \ --with-http_ssl_module \ --with-http_flv_module \ --with-http_gzip_static_module \ --http-log-path=/var/log/nginx/access.log \ --http-client-body-temp-path=/var/tmp/nginx/client/ \ --http-proxy-temp-path=/var/tmp/nginx/proxy/ \ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/
最后编译并安装:
make && make install