从源文件构建 nginx
原文地址: http://nginx.org/en/docs/configure.html
我们使用 configure
命令来设置构建 nginx 需要的配置。它定义了系统的各个方面,包括允许 nginx 用于连接处理的方法。最后,它会生成一个名为 Makefile
文件。这个 configure
命令支持以下参数:
原文是列表形式,这里我为了方便阅读使用表格形式
参数 | 说明 |
---|---|
–prefix=path | 定义一个保存服务器文件的目录。这个目录也将用于所有通过 configure 设置的 (除了类库资源路径) 和 nginx.conf 配置文件中的相对路径。默认情况下它被设置为 /usr/local/nginx 目录 |
–sbin-path=path | 设置 nginx 可执行文件的名称。这个名称只用于安装期间。默认情况下这个文件被命名为 prefix/sbin/nginx 。 |
–conf-path=path | 设置 nginx.conf 配置文件的名称。如果需要,nginx 可以随时使用一个不同的配置文件来启动,通过在命令行中指定参数 -c file 。默认情况下这个文件被命名为 prefix/conf/nginx.conf 。 |
–pid-path=path | 设置一个 nginx.pid 文件的名称,它将存储主进程的进程 ID 。安装后,这个文件名可以随时更改通过使用 nginx.conf 配置文件中的 pid 指令。默认情况下这个文件被命名为 prefix/logs/nginx.pid 。 |
–error-log-path=path | 设置主要错误,警告,以及诊断文件的名称,这个文件名称可以随时更改,通过在 nginx.conf 配置文件中使用 error_log 指令。默认情况下这个文件被命名为 prefix/logs/access.log 。 |
–http-log-path=path | 设置 HTTP 服务器的主要请求日志文件的名称。安装后,这个文件名可以随时更改,通过在 nginx.conf 配置文件中使用 access_log 指令。默认情况下这个文件被命名为 prefix/logs/access.log 。 |
–user=name | 设置一个无特权用户名作为工作进程将使用的凭据。安装后,这个名称可以随时更改,通过在 nginx.conf 配置文件中使用 user 指令。默认的用户名是 nobody 。 |
–group=name | 设置一个组名作为工作进程将使用的凭据。安装后,这个名称可以随时更改,通过在 nginx.conf 配置文件中使用 user 指令。默认情况下,组名被设置为无特权用户名。 |
–with-select_module –without-select_module | 启用或者禁用构建允许服务器使用 select() 方法的模块。如果平台没有出现支持更合适的方法,比如 kqueue,epoll,或者 /dev/poll,那么这个模块会自动构建。 |
–with-poll_module –without-poll_module | 启用或者禁用构建允许服务器使用 poll 方法的模块。如果平台没有出现支持更合适的方法,比如 kqueue,epoll,或者 /dev/poll,那么这个模块会自动构建。 |
–without-http_gzip_module | 禁用构建 HTTP 服务器的 compresses responses 模块。zlib 类库需要构建并运行这个模块。 |
–without-http_rewrite_module | 禁用构建允许 HTTP 服务器 redirect requests and change URI of requests 的模块。PCRE 类库需要构建并运行这个模块。 |
–without-http_proxy_module | 禁用构建 HTTP 服务器 proxying module 。 |
–with-http_ssl_module | 启用构建添加 HTTPS protocol support 到 HTTP 服务器的模块。默认情况下,这个模块不会构建。OpenSSL 类库需要构建并运行这个模块。 |
–with-pcre=path | 设置 PCRE 类库的资源路径。这个类库分配 (版本 4.4 – 8.40) 需要从 PCRE 站点下载并提取。其余的通过 nginx 的 ./configure 和 make 完成。这个类库是为 location 指令中对正则表达式的支持以及 ngx_http_rewrite_module 模块中对正则表达式的支持所必须的。 |
–with-pcre-jit | 构建 PCRE 类库并带 “just-in-time compilation” 的支持 (1.1.12,pcre_jit 指令) 。 |
–with-zlib=path | 设置 zlib 类库的资源路径。这个类库分配 (版本 1.1.3 – 1.2.11) 需要从 zlib 站点下载并提取。其余的通过 nginx 的 ./configure 和 make 完成。这个类库是 ngx_http_gzip_module 模块所必需的。 |
–with-cc-opt=parameters | 设置额外添加到 CFLAGS 变量的参数。当在 FreeBSD 下使用系统 PCRE,应该制定 --with-cc-opt="-I /usr/local/include" 。如果需要增加通过 select() 支持的文件数量,也可以在这里制定这样的命令: --with-cc-opt="-D FD_SETSIZE=2048" 。 |
–with-ld-opt=parameters | 设置额外的连接期间的参数。当在 FreeBSD 下使用系统 PCRE 类库,应该指定 --with-ld-opt="-L /usr/local/lib" 。 |
参数适用示例 (所有参数需要输入在一行中)
./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-8.40
--with-zlib=../zlib-1.2.11
配置后,使用 make
编译并安装 nginx。