nginx编译安装配置选项详解

基础配置选项

--prefix=path
  • 作用:设置 Nginx 安装目录。
  • 使用场景:适用于需要自定义安装路径的情况。
  • 示例--prefix=/opt/nginx
  • 注意事项:确保目标目录存在并且有写权限。
--sbin-path=path
  • 作用:指定 Nginx 可执行文件的安装路径。
  • 使用场景:适用于需要自定义可执行文件位置的情况。
  • 示例--sbin-path=/usr/local/bin/nginx
  • 注意事项:确保路径有效且有执行权限。
--conf-path=path
  • 作用:指定 Nginx 配置文件的路径。
  • 使用场景:适用于需要自定义配置文件位置的情况。
  • 示例--conf-path=/etc/nginx/nginx.conf
  • 注意事项:确保路径有效且配置文件格式正确。
--error-log-path=path
  • 作用:指定 Nginx 错误日志文件的路径。
  • 使用场景:适用于需要自定义错误日志位置的情况。
  • 示例--error-log-path=/var/log/nginx/error.log
  • 注意事项:确保路径有效且有写权限。
--pid-path=path
  • 作用:指定 Nginx PID 文件的位置。
  • 使用场景:适用于需要自定义 PID 文件位置的情况。
  • 示例--pid-path=/var/run/nginx.pid
  • 注意事项:确保路径有效且有写权限。
--lock-path=path
  • 作用:指定 Nginx 锁文件的位置。
  • 使用场景:适用于需要自定义锁文件位置的情况。
  • 示例--lock-path=/var/lock/nginx.lock
  • 注意事项:确保路径有效且有写权限。

性能相关配置

--user=name
  • 作用:设置 Nginx 工作进程的用户名。
  • 使用场景:适用于需要指定工作进程运行用户的情况。
  • 示例--user=nginx
  • 注意事项:确保该用户存在且有足够权限。
--group=name
  • 作用:设置 Nginx 工作进程的组名。
  • 使用场景:适用于需要指定工作进程运行组的情况。
  • 示例--group=nginx
  • 注意事项:确保该组存在且有足够权限。
--with-debug
  • 作用:启用调试日志。
  • 使用场景:适用于开发和调试阶段。
  • 示例--with-debug
  • 注意事项:调试日志会占用大量磁盘空间,不建议在生产环境中使用。
--with-pcre=path
  • 作用:指定 PCRE 库的源代码路径,用于正则表达式支持。
  • 使用场景:适用于需要正则表达式支持的情况。
  • 示例--with-pcre=/path/to/pcre
  • 注意事项:确保 PCRE 库版本兼容。
--with-pcre-jit
  • 作用:编译 PCRE 以支持 JIT(Just-In-Time)编译优化。
  • 使用场景:适用于需要高性能正则表达式匹配的情况。
  • 示例--with-pcre-jit
  • 注意事项:确保 CPU 支持 JIT 编译所需的指令集。
--with-zlib=path
  • 作用:指定 zlib 库的源代码路径,用于 gzip 压缩功能。
  • 使用场景:适用于需要压缩响应内容的情况。
  • 示例--with-zlib=/path/to/zlib
  • 注意事项:确保 zlib 库版本兼容。
--with-openssl=path
  • 作用:指定 OpenSSL 库的源代码路径,用于 HTTPS 支持。
  • 使用场景:适用于需要 SSL/TLS 加密的情况。
  • 示例--with-openssl=/path/to/openssl
  • 注意事项:确保 OpenSSL 库版本兼容。
--with-threads
  • 作用:启用线程池支持。
  • 使用场景:适用于需要高并发处理的情况。
  • 示例--with-threads
  • 注意事项:线程池会增加内存占用。
--with-file-aio
  • 作用:启用异步文件 I/O 支持。
  • 使用场景:适用于需要高效处理大文件的情况。
  • 示例--with-file-aio
  • 注意事项:异步 I/O 会增加复杂性。
--with-http_ssl_module
  • 作用:启用 SSL/TLS 支持模块。
  • 使用场景:适用于需要 HTTPS 支持的情况。
  • 示例--with-http_ssl_module
  • 注意事项:确保 OpenSSL 库已安装。
--with-http_v2_module
  • 作用:启用 HTTP/2 协议支持。
  • 使用场景:适用于需要高性能 HTTP 服务的情况。
  • 示例--with-http_v2_module
  • 注意事项:HTTP/2 要求 SSL/TLS 支持。
--with-http_gzip_static_module
  • 作用:启用预压缩文件的处理支持。
  • 使用场景:适用于需要压缩静态内容的情况。
  • 示例--with-http_gzip_static_module
  • 注意事项:预压缩文件可以减少带宽使用。
--with-http_realip_module
  • 作用:启用获取客户端真实 IP 地址的支持。
  • 使用场景:适用于使用 Nginx 作为反向代理的情况。
  • 示例--with-http_realip_module
  • 注意事项:确保配置文件中正确设置 real_ip_header
--with-http_addition_module
  • 作用:启用在响应中添加或修改响应头的能力。
  • 使用场景:适用于需要动态修改响应头的情况。
  • 示例--with-http_addition_module
  • 注意事项:谨慎使用,避免影响性能。
--with-http_sub_module
  • 作用:启用在响应体中替换字符串的能力。
  • 使用场景:适用于需要动态修改响应内容的情况。
  • 示例--with-http_sub_module
  • 注意事项:谨慎使用,避免影响性能。
--with-http_dav_module
  • 作用:启用 WebDAV 支持。
  • 使用场景:适用于需要 WebDAV 功能的情况。
  • 示例--with-http_dav_module
  • 注意事项:WebDAV 可能带来安全风险。
--with-http_flv_module
  • 作用:启用 FLV 流媒体支持。
  • 使用场景:适用于需要 FLV 流媒体服务的情况。
  • 示例--with-http_flv_module
  • 注意事项:FLV 流媒体可能需要额外配置。
--with-http_mp4_module
  • 作用:启用 MP4 流媒体支持。
  • 使用场景:适用于需要 MP4 流媒体服务的情况。
  • 示例--with-http_mp4_module
  • 注意事项:MP4 流媒体可能需要额外配置。
--with-http_gunzip_module
  • 作用:启用解压响应的能力。
  • 使用场景:适用于需要解压响应内容的情况。
  • 示例--with-http_gunzip_module
  • 注意事项:解压操作会增加 CPU 负载。
--with-http_random_index_module
  • 作用:启用随机索引页面支持。
  • 使用场景:适用于需要随机索引页面的情况。
  • 示例--with-http_random_index_module
  • 注意事项:随机索引页面可能影响用户体验。
--with-http_secure_link_module
  • 作用:启用安全链接模块。
  • 使用场景:适用于需要保护链接安全的情况。
  • 示例--with-http_secure_link_module
  • 注意事项:安全链接模块需要正确配置。
--with-http_degradation_module
  • 作用:启用当内存不足时降级服务的能力。
  • 使用场景:适用于需要在资源紧张时保持服务的情况。
  • 示例--with-http_degradation_module
  • 注意事项:降级服务可能影响用户体验。
--with-http_slice_module
  • 作用:启用切片传输编码支持。
  • 使用场景:适用于需要分段传输大文件的情况。
  • 示例--with-http_slice_module
  • 注意事项:切片传输可能增加复杂性。
--with-http_stub_status_module
  • 作用:启用状态页面支持,显示基本的性能统计信息。
  • 使用场景:适用于需要监控 Nginx 性能的情况。
  • 示例--with-http_stub_status_module
  • 注意事项:状态页面需要正确配置。

第三方模块

--add-module=path
  • 作用:添加第三方模块的路径。
  • 使用场景:适用于需要扩展 Nginx 功能的情况。
  • 示例--add-module=/path/to/third_party_module
  • 注意事项:确保第三方模块与 Nginx 兼容。

其他配置

--without-http
  • 作用:完全禁用 HTTP 服务器功能。
  • 使用场景:适用于不需要 HTTP 服务的情况。
  • 示例--without-http
  • 注意事项:禁用 HTTP 服务后,Nginx 将无法处理 HTTP 请求。
--without-http-cache
  • 作用:禁用 HTTP 缓存。
  • 使用场景:适用于不需要缓存功能的情况。
  • 示例--without-http-cache
  • 注意事项:禁用缓存可能影响性能。
--without-mail_pop3_module
  • 作用:禁用 POP3 邮件协议支持。
  • 使用场景:适用于不需要 POP3 支持的情况。
  • 示例--without-mail_pop3_module
  • 注意事项:禁用 POP3 支持后,Nginx 将无法处理 POP3 请求。
--without-mail_imap_module
  • 作用:禁用 IMAP 邮件协议支持。
  • 使用场景:适用于不需要 IMAP 支持的情况。
  • 示例--without-mail_imap_module
  • 注意事项:禁用 IMAP 支持后,Nginx 将无法处理 IMAP 请求。
--without-mail_smtp_module
  • 作用:禁用 SMTP 邮件协议支持。
  • 使用场景:适用于不需要 SMTP 支持的情况。
  • 示例--without-mail_smtp_module
  • 注意事项:禁用 SMTP 支持后,Nginx 将无法处理 SMTP 请求。
--without-stream
  • 作用:禁用流媒体模块。
  • 使用场景:适用于不需要流媒体服务的情况。
  • 示例--without-stream
  • 注意事项:禁用流媒体模块后,Nginx 将无法处理流媒体请求。
--without-stream_limit_conn_module
  • 作用:禁用流媒体连接限制模块。
  • 使用场景:适用于不需要流媒体连接限制的情况。
  • 示例--without-stream_limit_conn_module
  • 注意事项:禁用连接限制可能影响性能。
--without-stream_access_module
  • 作用:禁用流媒体访问控制模块。
  • 使用场景:适用于不需要流媒体访问控制的情况。
  • 示例--without-stream_access_module
  • 注意事项:禁用访问控制可能影响安全性。
--without-stream_geo_module
  • 作用:禁用流媒体地理定位模块。
  • 使用场景:适用于不需要流媒体地理定位的情况。
  • 示例--without-stream_geo_module
  • 注意事项:禁用地理定位可能影响功能。
--without-stream_map_module
  • 作用:禁用流媒体变量映射模块。
  • 使用场景:适用于不需要流媒体变量映射的情况。
  • 示例--without-stream_map_module
  • 注意事项:禁用变量映射可能影响功能。
--without-stream_return_module
  • 作用:禁用流媒体返回值模块。
  • 使用场景:适用于不需要流媒体返回值的情况。
  • 示例--without-stream_return_module
  • 注意事项:禁用返回值模块可能影响功能。
--without-stream_upstream_hash_module
  • 作用:禁用流媒体哈希负载均衡模块。
  • 使用场景:适用于不需要流媒体哈希负载均衡的情况。
  • 示例--without-stream_upstream_hash_module
  • 注意事项:禁用哈希负载均衡可能影响性能。
--without-stream_upstream_least_conn_module
  • 作用:禁用流媒体最少连接数负载均衡模块。
  • 使用场景:适用于不需要流媒体最少连接数负载均衡的情况。
  • 示例--without-stream_upstream_least_conn_module
  • 注意事项:禁用最少连接数负载均衡可能影响性能。
--without-stream_upstream_zone_hash_module
  • 作用:禁用流媒体区域哈希负载均衡模块。
  • 使用场景:适用于不需要流媒体区域哈希负载均衡的情况。
  • 示例--without-stream_upstream_zone_hash_module
  • 注意事项:禁用区域哈希负载均衡可能影响性能。
--with-cc-opt=parameters
  • 作用:传递额外的 C 编译器参数。
  • 使用场景:适用于需要自定义编译选项的情况。
  • 示例--with-cc-opt="-O2 -g"
  • 注意事项:确保参数有效且不会导致编译失败。
--with-ld-opt=parameters
  • 作用:传递额外的链接器参数。
  • 使用场景:适用于需要自定义链接选项的情况。
  • 示例--with-ld-opt="-L/path/to/lib -lmylib"
  • 注意事项:确保参数有效且不会导致链接失败。

重点配置

  • --prefix=path:设置安装目录,确保路径有效且有写权限。
  • --with-http_ssl_module:启用 SSL/TLS 支持,适用于需要 HTTPS 服务的情况。
  • --with-http_v2_module:启用 HTTP/2 协议支持,提高性能。
  • --with-http_gzip_static_module:启用预压缩文件的处理支持,减少带宽使用。
  • --with-http_realip_module:启用获取客户端真实 IP 地址的支持,适用于反向代理场景。
  • --with-http_stub_status_module:启用状态页面支持,便于监控 Nginx 性能。
  • --with-threads:启用线程池支持,提高高并发处理能力。
  • --with-file-aio:启用异步文件 I/O 支持,提高大文件处理效率。

使用场景与示例

假设我们需要编译一个支持 HTTPS、HTTP/2、GZIP 静态内容压缩、获取客户端真实 IP、状态页面监控、线程池和异步 I/O 的 Nginx,同时指定安装路径为 /opt/nginx,可以这样配置:

./configure --prefix=/opt/nginx \--with-http_ssl_module \--with-http_v2_module \--with-http_gzip_static_module \--with-http_realip_module \--with-http_stub_status_module \--with-threads \--with-file-aio
make && make install

注意事项

  • OpenSSL 兼容性:在使用 --with-openssl=path 时,请确保 OpenSSL 版本与你的 Nginx 版本兼容。
  • JIT 编译:如果你启用了 --with-pcre-jit,请确保你的 CPU 支持 JIT 编译所需的指令集。
  • 模块选择:启用过多的模块可能会增加 Nginx 的内存占用,因此只启用你需要的功能。
  • 调试日志:在生产环境中,尽量避免使用 --with-debug,因为调试日志会占用大量磁盘空间并影响性能。
  • 第三方模块:确保第三方模块与 Nginx 兼容,并且正确配置。

其余参见nginx官网 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/454047.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

排序02 Multi-gate Mixture-of-Experts (MMoE)

MMoE: 不一定适合业务场景 输入向量(包含四种特征)到三个神经网络(专家),不共享参数。实践中超参数专家神经网络个数需要调,会尝试4个或者8个专家。 左边另一个神经网络softmax输出的向量,三个…

element-plus 官方表格排序问题

element-plus 官方API 默认表格排序存在问题,一个list 被多组排序 修改后: 注意点: 这里一定要使用 sortable"custom",自定义 sort-change 方法 使用 sortable true 的情况排序会冲突,出现莫名奇妙的问题…

Oracle SQL练习题,从小白到入门 - 上

从事DBA以来,越来越认识到自己SQL水平不足,想想sql语句还停留在大二寒假学习的黑马的Mysql《Mysql 十天精通》基础篇进阶篇,将近100集一天就学完了,黑马yyds。 再后来,做项目用Spring的MyBatis是真的香,练…

string类的学习(上)

string类与我们再C语言中接触到的字符串数据相似,但是做出了一些重大的提升,封装为类,实现了总多的接口,丰富了其功能,为简化了字符串的使用,那现在我们就开始深入学习string类吧。 1.什么事string类 C语言…

Java项目:155 springboot酒店管理系统(含论文+ppt+开题报告+说明文档)

作者主页:源码空间codegym 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 ​ 后台: 1.登录:输入账号、密码,即可登录。 2.套房管理:可对房间房型进行管理。 3.入住管…

elk部署安装

elk部署 前提准备1、elasticsearch2、kibana3、logstash 前提准备 1、提前装好docker docker-compose相关命令 2、替换docker仓库地址国内镜像源 cd /etc/docker vi daemon.json # 替换内容 {"registry-mirrors": [ "https://docker.1panel.dev", "ht…

L1练习-鸢尾花数据集处理(分类/聚类)

背景 前文(《AI 自学 Lesson1 - Sklearn(开源Python机器学习包)》)以鸢尾花数据集的处理为例,本文将完善其代码,在使用 sklearn 的部分工具包基础上,增加部分数据预处理、数据分析和数据可视化…

FL Studio 2024 发布,添加 FL Cloud 插件、AI 等功能

作为今年最受期待的音乐制作 DAW 更新之一,FL Studio 2024发布引入了新功能,同时采用了新的命名方式,从现在起将把发布年份纳入其名称中。DAW 的新增功能包括在 FL Cloud 中添加插件、AI 驱动的音乐创作工具和 FL Studio 的新效果。 FL Clou…

Java 解决阿里云OSS服务器私有权限图片通过URL无法预览的问题

简单描述一下此场景的业务: 由于系统中需要将上传的图片在系统中展示(private私有权限不能直接通过url直接展示),不想通过先下载下来然后以流的形式返回给前台展示这种方法很不友好,毕竟现在前台展示方式都是通过图片URL进行展示,所以就上官网查看API文档,果然找到了解决…

视频美颜平台是如何搭建的?基于直播美颜SDK源码的开发技术详解

今天,笔者将详细讲解如何基于直播美颜SDK源码搭建视频美颜平台的技术路径。 一、理解视频美颜技术 视频美颜技术主要通过图像处理算法对视频流进行实时处理,包括肤色优化、瑕疵修复、面部特征增强等。实现这一目标需要高效的图像处理算法和稳定的实时渲…

电脑异常情况总结

文章目录 笔记本无症状息屏黑屏 笔记本无症状息屏黑屏 🍎 问题描述: 息屏导致黑屏;依次操作计算机--》右键--》管理--》事件查看器--》Windows日志--》系统;从息屏到异常黑屏之间出现了很多错误,如下:事件…

大规模创新类竞赛评审方案的建模与研究

随着科技的发展和教育制度的改革,近年来涌现出一批以“创新”为主题的竞赛项目。这类竞赛的运行模式为,参赛队伍提交文档、视频或幻灯片等文本形式的作品,专家对参赛队伍提交的作品评阅判分,一份作品将由多位专家独立进行评阅打分…

WPF入门_04绑定

WPF绑定使得原本需要多行代码实现的功能,现在只需要简单的XAML代码就可以完成之前多行后台代码实现的功能。WPF绑定可以理解为一种关系,该关系告诉WPF从一个源对象提取一些信息,并将这些信息来设置目标对象的属性。 目标属性总是依赖属性。然而,源对象可以是任何内容,可以…

mysql8以上版本第一次下载后的登录问题

mysql8以上版本第一次下载后的登录问题 在官网下载mysql后,按照MySQL下载和安装教程操作就可以 如果出现问题,参考https://blog.csdn.net/weixin_63107823/article/details/136588474 注意ini配置文件,如果你是复制的别人的代码&#xff0…

一些简单的编程题(Java与C语言)

引言: 这篇文章呢,小编将会举一些简单的编程题用来帮助大家理解一下Java代码,并且与C语言做个对比,不过这篇文章所出现的题目小编不会向随缘解题系列里面那样详细的讲解每一到题,本篇文章的主要目的是帮助小编和读者们…

算法魅力-双指针的实战

目录 1.双指针的介绍 1. 左右指针(对撞指针) 2. 快慢指针 2.题目练习讲解 2.1 移动零 算法思路 代码展示 画图效果效果 2.2 复写零 算法思路 代码展示 2.3 快乐数 算法思路 代码展示 2.4 盛最多水的容器 算法思路 代码展示 结束语 1.双指针的…

LeetCode第101题. 对称二叉树

文章目录 😊1.题目😉2.解法 😊1.题目 尝试一下该题 😉2.解法 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ bool isSameTree…

考研读研生存指南,注意事项

本视频课程,涉及考研读研的方方面面,从考研初试→复试面试→研究生生活→导师相处→论文专利写作混毕业,应有尽有。有了他,你的研究生生涯稳了。 读研考研注意事项,研究生生存指南。_哔哩哔哩_bilibili 一、考研初试注…

数据泄露危机:提升文件安全意识的紧迫性

在当今数字化时代,数据已成为企业最宝贵的资产之一。然而,随着技术的进步,数据泄露事件的频率和规模也在不断攀升。这不仅给企业带来巨大的经济损失,还可能导致声誉受损、客户流失等一系列严重后果。因此,提升文件安全意识,加强数据保护措施,已成为企业管理中不可忽视的重要议题…

【人工智能】Transformers之Pipeline(二十):令牌分类(token-classification)

目录 一、引言 二、令牌分类(token-classification) 2.1 概述 2.2 Facebook AI/XLM-RoBERTa 2.3 pipeline参数 2.3.1 pipeline对象实例化参数 2.3.2 pipeline对象使用参数 2.3.3 pipeline返回参数 ​​​​​​​​​​​​​​ 2.4 pipeline…