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

news/2024/7/5 7:39:42 标签: 运维, epoll

从源文件构建 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。


http://www.niftyadmin.cn/n/1377861.html

相关文章

事件和信号

信号和槽 示例效果如下: 示例代码: 1 #!/usr/bin/python32 # -*- coding: utf-8 -*-3 4 """5 ZetCode PyQt5 tutorial 6 7 In this example, we connect a signal8 of a QSlider to a slot of a QLCDNumber. 9 10 Author: Jan Bodnar 11…

DR模式原理

客户端向目标vip发出请求,lvs接收后根据负载均衡算法选择一台节点,将此节点的ip所在网卡的mac地址作为目标mac地址,发送到局域网里;节点在局域网中收到这个帧,拆开后发现目标IP(VIP)与本地匹配,于是处理这个…

Oracle的sys和system默认密码

system默认:manager sys默认:change_on_install 使用SQL Plus登录数据库时,system使用密码manager可直接登录。 但如果是sys用户,密码必须加上as sysdba,即完整密码为:change_on_install as sysdba转载于:https://www.cnblogs.com…

小王 详解 C/S和B/S的优缺点

1.C/S架构 C/S结构,即Client/Server(客户机/服务器)结构, 优点: 交互性强,客户端有着一套完整的应用程序,相对B/S有着更加强大的功能,还可以实现子程序之间的切换; 安全性强,只适用…

文 OR 理?答案都在这里!

最近有很多童鞋询问文理分科的事情,对于这个问题,情垢认为:一是要考虑自己的成绩和潜能,毕竟学得轻松又容易高分是一件好事来的;二是要考虑大学专业,如果自己有特别喜欢的专业,那么要了解这个专…

P1650 田忌赛马

题目描述 我国历史上有个著名的故事: 那是在2300年以前。齐国的大将军田忌喜欢赛马。他经常和齐王赛马。他和齐王都有三匹马:常规马,上级马,超级马。一共赛三局,每局的胜者可以从负者这里取得200银币。每匹马只能用一次…

POJ 3689 Apocalypse Someday [数位DP]

Apocalypse SomedayTime Limit: 1000MS Memory Limit: 131072KTotal Submissions: 1807 Accepted: 873Description The number 666 is considered to be the occult “number of the beast” and is a well used number in all major apocalypse themed blockbuster movies. Ho…

DR模式与NAT的区别

公司使用的是DR模式 DR和NAT相比来说 DR模式可以给服务器减少压力 但是我们在使用过程中发现DR模式也是有不足的地方 就是有着局限性 分发器与realserver必须在同一个局域网中 否则是不能实现的。