configure 决定系统的特性,以及nginx可以用来处理连接的某些特性和方法,最后它将创建Makefile。 configure 支持以下选项: ?prefix=path - 安装路径,如果没有指定,默认为/usr/local/nginx。 ?sbin-path=path - nginx可执行命令的文件,如果没有指定,默
configure决定系统的特性,以及nginx可以用来处理连接的某些特性和方法,最后它将创建Makefile。
configure支持以下选项:
?prefix= - 安装路径,如果没有指定,默认为/usr/local/nginx。
?sbin-path= - nginx可执行命令的文件,如果没有指定,默认为
/sbin/nginx。</prefix></p>
<p><strong>?conf-path=<path></path></strong> - 在没有使用-c<strong>参数</strong>指定的情况下nginx.conf的默认位置,如果没有指定,默认为<prefix>/conf/nginx.conf。</prefix></p>
<p><strong>?pid-path=<path></path></strong> - nginx.pid的路径,如果没有在nginx.conf中通过“pid”指令指定,默认为<prefix>/logs/nginx.pid。</prefix></p>
<p><strong>?lock-path=<path></path></strong> - nginx.lock文件路径,如果没有指定,默认为<prefix>/logs/nginx.lock。</prefix></p>
<p><strong>?error-log-path=<path></path></strong> - 当没有在nginx.conf中使用“error_log”指令指定时的错误日志位置,如果没有指定,默认为<prefix>/logs/error.log。</prefix></p>
<p><strong>?http-log-path=<path></path></strong> - 当没有在nginx.conf中使用“access_log”指令指定时的访问日志位置,如果没有指定,默认为<prefix>/logs/access.log。</prefix></p>
<p><strong>?user=<user></user></strong> - 当没有在nginx.conf中使用“user”指令指定时nginx运行的用户,如果没有指定,默认为“nobody”。</p>
<p><strong>?group=<group></group></strong> - 当没有在nginx.conf中使用“user”指令指定时nginx运行的组,如果没有指定,默认为“nobody”。</p>
<p><strong>?builddir=DIR</strong> - 设置构建目录。</p>
<p><strong>?with-rtsig_module</strong> - 启用rtsig模块。</p>
<p><strong>?with-select_module ?without-select_module</strong> - 如果在configure的时候没有发现kqueue, epoll, rtsig或/dev/poll其中之一,select模块始终为启用状态。</p>
<p><strong>?with-poll_module ?without-poll_module</strong> - 如果在configure的时候没有发现kqueue, epoll, rtsig或/dev/poll其中之一,poll模块始终为启用状态。</p>
<p><strong>?with-http_ssl_module</strong> - 启用ngx_http_ssl_module,启用SSL支持并且能够处理HTTPS请求。需要OpenSSL,在Debian系统中,对应的包为libssl-dev。</p>
<p><strong>?with-http_realip_module</strong> - 启用ngx_http_realip_module</p>
<p><strong>?with-http_addition_module</strong> - 启用ngx_http_addition_module</p>
<p><strong>?with-http_sub_module</strong> - 启用ngx_http_sub_module</p>
<p><strong>?with-http_dav_module</strong> - 启用ngx_http_dav_module</p>
<p><strong>?with-http_flv_module</strong> - 启用ngx_http_flv_module</p>
<p><strong>?with-http_stub_status_module</strong> - 启用”server status”(服务状态)页</p>
<p><strong>?without-http_charset_module</strong> - 禁用ngx_http_charset_module</p>
<p><strong>?without-http_gzip_module</strong> - 禁用ngx_http_gzip_module,如果启用,需要zlib包。</p>
<p><strong>?without-http_ssi_module</strong> - 禁用ngx_http_ssi_module</p>
<p><strong>?without-http_userid_module</strong> - 禁用ngx_http_userid_module</p>
<p><strong>?without-http_access_module</strong> - 禁用ngx_http_access_module</p>
<p><strong>?without-http_auth_basic_module</strong> - 禁用ngx_http_auth_basic_module</p>
<p><strong>?without-http_autoindex_module</strong> - 禁用ngx_http_autoindex_module</p>
<p><strong>?without-http_geo_module</strong> - 禁用ngx_http_geo_module</p>
<p><strong>?without-http_map_module</strong> - 禁用ngx_http_map_module</p>
<p><strong>?without-http_referer_module</strong> - 禁用ngx_http_referer_module</p>
<p><strong>?without-http_rewrite_module</strong> - 禁用ngx_http_rewrite_module。如果启用,需要PCRE包。</p>
<p><strong>?without-http_proxy_module</strong> - 禁用ngx_http_proxy_module</p>
<p><strong>?without-http_fastcgi_module</strong> - 禁用ngx_http_fastcgi_module</p>
<p><strong>?without-http_memcached_module</strong> - 禁用ngx_http_memcached_module</p>
<p><strong>?without-http_limit_zone_module</strong> - 禁用ngx_http_limit_zone_module</p>
<p><strong>?without-http_empty_gif_module</strong> - 禁用ngx_http_empty_gif_module</p>
<p><strong>?without-http_browser_module</strong> - 禁用ngx_http_browser_module</p>
<p><strong>?without-http_upstream_ip_hash_module</strong> - 禁用ngx_http_upstream_ip_hash_module</p>
<p><strong>?with-http_perl_module</strong> - 启用ngx_http_perl_module</p>
<p><strong>?with-perl_modules_path=PATH</strong> - 为perl模块设置路径</p>
<p><strong>?with-perl=PATH</strong> - 为perl库设置路径</p>
<p><strong>?http-client-body-temp-path=PATH</strong> - 为http连接的请求实体临时文件设置路径,如果没有指定,默认为<prefix>/client_body_temp</prefix></p>
<p><strong>?http-proxy-temp-path=PATH</strong> - 为http代理临时文件设置路径,如果没有指定,默认为<prefix>/proxy_temp</prefix></p>
<p><strong>?http-fastcgi-temp-path=PATH </strong>- 为http fastcgi临时文件设置路径,如果没有指定,默认为<prefix>/fastcgi_temp</prefix></p>
<p><strong>?without-http</strong> - 禁用HTTP服务</p>
<p><strong>?with-mail</strong> - 启用IMAP4/POP3/SMTP代理模块</p>
<p><strong>?with-mail_ssl_module</strong> - 启用ngx_mail_ssl_module</p>
<p><strong>?with-cc=PATH</strong> - 设置C<strong><strong>编译</strong></strong>器路径</p>
<p><strong>?with-cpp=PATH</strong> - 设置C预处理器路径</p>
<p><strong>?with-cc-opt=OPTIONS</strong> - 变量CFLAGS中附加的<strong>参数</strong>,用于FreeBSD中的PCRE库,同样需要指定?with-cc-opt=”-I /usr/local/include”,如果我们使用select()函数则需要同时增加文件描述符数量,可以通过?with-cc-opt=”-D FD_SETSIZE=2048”指定。</p>
<p><strong>?with-ld-opt=OPTIONS</strong> - 通过连接器的附加<strong>参数</strong>,用于FreeBSD中的PCRE库,同样需要指定?with-ld-opt=”-L /usr/local/lib”。</p>
<p><strong>?with-cpu-opt=CPU</strong> - 指定<strong><strong>编译</strong></strong>的CPU,可用的值为: pentium, pentiumpro, pentium3, pentium4, athlon, opteron, amd64, sparc32, sparc64, ppc64</p>
<p><strong>?without-pcre</strong> - 禁用PCRE库文件,同时将禁用HTTP rewrite 模块,如果要在”location”指令中使用正则表达式,同样需要PCRE库。</p>
<p><strong>?with-pcre=DIR</strong> - 设置PCRE库源文件路径。</p>
<p><strong>?with-pcre-opt=OPTIONS</strong> - 在<strong><strong>编译</strong></strong>时为PCRE设置附加<strong>参数</strong>。</p>
<p><strong>?with-md5=DIR</strong> - 设置md5库源文件路径。</p>
<p><strong>?with-md5-opt=OPTIONS</strong> - 在<strong><strong>编译</strong></strong>时为md5设置附加<strong>参数</strong>。</p>
<p><strong>?with-md5-asm</strong> - 使用md5汇编源。</p>
<p><strong>?with-sha1=DIR</strong> - 设置sha1库源文件路径。</p>
<p><strong>?with-sha1-opt=OPTIONS</strong> - 在<strong><strong>编译</strong></strong>时为sha1设置附加<strong>参数</strong>。</p>
<p><strong>?with-sha1-asm</strong> - 使用sha1汇编源。</p>
<p><strong>?with-zlib=DIR</strong> - 设置zlib库源文件路径。</p>
<p><strong>?with-zlib-opt=OPTIONS</strong> - 在<strong><strong>编译</strong></strong>时为zlib设置附加<strong>参数</strong>。</p>
<p><strong>?with-zlib-asm=CPU</strong> - 为指定的CPU使用zlib汇编源进行优化,可用值为: pentium, pentiumpro。</p>
<p><strong>?with-openssl=DIR</strong> - 设置openssl库源文件路径。</p>
<p><strong>?with-openssl-opt=OPTIONS</strong> - 在<strong><strong>编译</strong></strong>时为openssl设置附加<strong>参数</strong>。</p>
<p><strong>?with-debug</strong> - 启用debug记录。</p>
<p><strong>?add-module=PATH</strong> - 增加一个在PATH中的第三方模块。</p>
<p><strong><strong>编译</strong></strong><strong>参数</strong>可能会根据版本的不同进行变化,可以使用<em>./configure ?help</em>查看<strong><strong>编译</strong></strong><strong>参数</strong>列表。</p>
<h2>示例</h2>
<p class="level2"></p>
<h3>示例1</h3>
<p class="level3"></p>
<pre class="code">./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
로그인 후 복사