[英 => 中] 从源文件构建 nginx

从源文件构建 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 的 ./configuremake 完成。这个类库是为 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 的 ./configuremake 完成。这个类库是 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。

    原文作者:tanglijun
    原文地址: https://segmentfault.com/a/1190000008251357
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞