现在的位置: 首页 > 综合 > 正文

Nginx 源码编译参数详细列表

2018年04月15日 ⁄ 综合 ⁄ 共 5483字 ⁄ 字号 评论关闭

from: http://www.ownlinux.cn/2011/06/10/nginx-configure.html

 

今天有朋友在问我 Nginx 用源码来安装时候有哪些编译的参数,常用的参数有哪些,它们又分别代表什么意思。其实用 ./configure
–help 就可以看出来它有哪里编译的参数,不过那个朋友的英文不是很好,OwnLinux 有幸发现一份总结得很好的Nginx
源码编译参数详细列表。同大家分享如下:

以下是来源于 howtocn.org
总结的 Nginx 源码编译参数详细列表
原文地址是: http://howtocn.org/nginx:installoptions

转载时请注明来源于它们,谢谢。

 

编译时参数

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

configure
支持以下选项:

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

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

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

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

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

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

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

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

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

–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连接的请求实体临时文件设置路径,如果没有指定,默认为<prefix>/client_body_temp

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

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

–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

抱歉!评论已关闭.