nginx 源码编译参数

用源码构建nginx

使用configure命令配置构建。它定义了系统的各个方面,包括允许使用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 fileprefix/conf/nginx.conf

–pid-path=path - 设置将存储主进程的进程ID的nginx.pid文件的名称。安装后,可以nginx.conf使用pid指令在配置文件中 始终更改文件名 。默认情况下文件被命名 prefix/logs/nginx.pid。

–error-log-path=path - 设置主错误,警告和诊断文件的名称。安装后,可以nginx.conf使用error_log指令在配置文件中 始终更改文件名 。默认情况下文件被命名 prefix/logs/error.log。

–http-log-path=path - 设置HTTP服务器主要请求日志文件的名称。安装后,可以nginx.conf使用access_log指令在配置文件中 始终更改文件名 。默认情况下文件被命名 prefix/logs/access.log。

–build=name - 设置一个可选的nginx构建名称。

–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服务器响应的模块。需要zlib库来构建和运行此模块。

–without-http_rewrite_module - 禁用构建一个允许HTTP服务器 重定向请求并更改请求URI的模块。需要PCRE库来构建和运行此模块。

–without-http_proxy_module - 禁用构建HTTP服务器代理模块。

–with-http_ssl_module - 可以构建一个将HTTPS协议支持添加到HTTP服务器的模块。默认情况下不构建此模块。OpenSSL库是构建和运行该模块所必需的。

–with-pcre=path - 设置PCRE库的源的路径。图书馆发行版(4.4 - 8.40版)需要从PCRE站点下载 并提取。其余的是由nginx ./configure和 make。该库是位置指令和 ngx_http_rewrite_module 模块中正则表达式支持所必需的 。

–with-pcre-jit - 使用“即时编译”支持构建PCRE库(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” 应该指定。

### 如何编译Nginx源码 #### 准备工作 为了成功编译 Nginx 源码,需要先准备好必要的依赖项和开发工具。以下是针对不同操作系统的准备工作: - **Windows 平台** 需要安装 Visual Studio 开发环境以及相关第三方库的源码文件。具体包括但不限于以下组件: - 下载并解压 `nginx` 源码压缩包[^1]。 - 获取支持模块所需的外部库,例如 `openssl`, `pcre`, 和 `zlib` 的源码文件[^1]。 - 安装 Microsoft Visual C++ 工具链用于构建可执行程序。 - **Linux 平台 (CentOS)** CentOS 上通常采用 GCC 编译器来处理 Nginx 及其附加模块的编译过程。确保系统已安装基础开发套件,如 gcc, make 等工具,并获取所需扩展模块的头文件与静态链接库[^3]。 #### 步骤详解 ##### Windows 环境下的编译流程 1. 设置合适的开发环境变量以便于调用 MSVC 工具集中的 nmake 实用程序[^4]: ```cmd "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 ``` 2. 切换至提取后的 Nginx 主目录位置并通过指定 Makefile 文件启动实际编译作业: ```cmd cd D:\path_to_nginx_source_code\ nmake -f objs/Makefile ``` ##### Linux(CentOS) 中的具体实现方法 1. 进入解压好的 Nginx 源代码根目录设置初始参数配置阶段: ```bash ./configure \ --prefix=/usr/local/nginx \ --with-http_ssl_module \ --with-pcre=path/to/pcre/source/directory \ --with-zlib=path/to/zlib/source/directory \ --with-openssl=path/to/openssl/source/directory ``` 2. 执行标准 GNU 构建体系内的指令完成最终目标产物生成动作: ```bash make && make install ``` #### 后续验证环节 无论在哪种操作系统之上完成了定制化版本的服务端软件组装之后都应当对其进行基本的功能测试确认无误后再投入使用当中去。可以借助如下两种方式快速评估当前实例状态是否正常运转良好: - 使用 `-t` 参数核验现存设定文档语法结构合法性; - 借助 `-V` 输出详细的编译选项详情列表供进一步分析对照之需[^2]. ```bash /usr/local/nginx/sbin/nginx -t /usr/local/nginx/sbin/nginx -V ``` ### 注意事项 在整个过程中可能会遇到各种各样的错误提示或者警告信息,这时就需要查阅官方手册或者是社区讨论区寻找解决方案了。另外值得注意的是某些特定功能可能还需要额外的手动干预才能顺利集成进来比如 RTMP 流媒体推送服务之类的高级特性支持情况等等[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值