当前位置:首页 > 技术文章 > 正文内容

Nginx常用编译模块

ivker_lee3年前 (2023-03-18)技术文章429

    因为某些特殊需求,最近在折腾网站支持TLS1.3。因此做一些笔记。

    首先,要支持TLS1.3,需要openssl在1.1.0以上版本。需要系统重新编译安装。其次,需要nginx调用新版本openssl,用“nginx -V”命令可以查看调用的openssl版本详情。然后下载对应版本的nginx源码,重新编译nginx。

    以下罗列nginx编译常用编译模块:

   

       –prefix=path nginx安装目录
    –sbin-path=path  nginx命令目录
    –modules-path=path  nginx动态模块存储目录
    –modules-path=path   nginx配置文件的路径,也可同时修改对应文件名不为nginx.conf
    –error-log-path=path  错误日志目录
    –pid-path=path   nginx.pid主存储进程的路径
    –lock-path=path  nginx.lock的路径
    –group=name  启用nginx进程的用户名组
    –with-select_module 和 --without-select_module是否支持构建select方法
    –with-poll_module 和 --without-poll_module是否支持poll方法
    –with-threads 启用线程池使用
    –with-http_ssl_module  HTTPS协议支持
    –with-http_v2_module  提供http/2支持
    –with-http_realip_module  模块将客户端地址更改为在指定的标头字段中发送的地址。获取真实IP地址时用
    –with-http_geoip_module 和 --with-http_geoip_module=dynamic  支持geoip地址库定位
    –with-http_sub_module   模块通过将指定的一个字符串修改为另一个指定的字符串来修改响应。
    –with-http_stub_status_module  模块提供对基本状态信息的访问。
    –with-http_perl_module 和 --with-http_perl_module=dynamic 支持构建迁入式perl模块。构建新perl版本支持时使用
    –with-perl_modules_path=path 指定perl模块库的路径
    –with-perl=path  指定嵌入式perl模块构建的目录,该目录需有perl版本源码
    –http-log-path=path  启用后,可用access_log指令修改log文件名
    –with-stream 和 --with-stream=dynamic   支持UDP/TCP代理和负载均衡的流模块
    –with-stream_ssl_module  让stream流模块支持ssl协议
    –with-stream_realip_module   该模块将客户端地址更改为PROXY协议标头中发送的地址
    –with-stream_geoip_module 和 --with-stream_geoip_module=dynamic  模块根据客户端IP地址和预编译的MaxMind数据库创建变量
    –with-stream_ssl_preread_module   该模块运行从Client Hello消息中提取信息,而无需终止SSL/TLS。
    –with-pcre和–with-pcre=path  强制启用PCRE库和设置PCRE库源的路径
    –with-zlib=path 设置zlib库源的路径。
    –with-openssl=path  设置openssl库源(openssl编译代码)路径
    –with-openssl-opt=parameters  为openssl设置其他构建选项。


分享给朋友:

相关文章

Linux新学

Linux新学

[TOC]基础命令find与lsls1 .只显示目录ls -F | grep "/$"-F 文件类型(File type)。在每一个列举项目之后添加一个符号。这些符号包括: / 表明是一个目录; @ 表明是到其它文件的符号链接; * 表明是一个可执行文件ls -al | grep "^d"2.只显示文件ls -al | grep &quo...

Centos7学习笔记(二)-基础命令(一)

Centos7学习笔记(二)-基础命令(一)

1、cp命令cp命令的四个重要参数:-p 保持文件所有者、权限信息以及时间属性。-r 递归复制,可操作目录。-d 若复制的源文件为链接,则仅复制链接本身,且保持链接指向。-a 等同于以上的dpr。例:cp test.txt{,.ori}     =====    cp test.txt test.txt.ori2、alias命令查看或者设置命令别名由此涉及一个问题——如何忽略因为系统设定的命令别名,导致的命令被强制交互执行?  ...

Centos7学习笔记(二)-基础命令(二)

Centos7学习笔记(二)-基础命令(二)

3、Linux基础命令1、date参数:-s  设置日期-d  display time described by STRING, not 'now'---用日期表示法的完整字符串(比如“1day”,“2month”,“1year”)来显示时间,但不准用“now”。实例如下:[root@ecs-ryCz8 /home/study]# date +%F -d "now" 2020-...

Centos7学习笔记(五)-tmpfs和xfs

Centos7学习笔记(五)-tmpfs和xfs

介绍/dev/shm/是一个使用就是tmpfs文件系统的设备,其实就是一个特殊的文件系统。redhat中默认大小为物理内存的一半,使用时不用mkfs格式化。tmpfs是Linux/Unix系统上的一种基于内存的虚拟文件系统。tmpfs可以使用您的内存或swap分区来存储文件(即它的存储空间在virtual memory 中, VM由real memory和swap组成)。由此可见,tmpfs主要存储暂存的文件。它有如下2个优势 : 1. 动态文件系统的大小。2. tmpfs 使用VM建的文件系统...

Centos7学习笔记(六)——shell编程初步

Centos7学习笔记(六)——shell编程初步

1、shell编程的一些基础a)shell编程有两类变量,                             全局变量(环境变量)——  一般指系统内置的变量,或者手动用export、declare等方式宣称,写入/etc/profile(~./bash_profile、~/bashrc、/etc/bashrc)的全局变量 ...

Centos7学习笔记(八)-基础命令(三)

Centos7学习笔记(八)-基础命令(三)

1、rsync作为一个同步(备份,增量备份)命令,它的选项非常的多,常用的组合是avz,当然,如果需要建立备份服务,那么-n必然是用的多的参数选项。关于rsync的用法详细说明,参考网上的这篇原文链接:https://www.cnblogs.com/f-ck-need-u/p/7220009.html#blog21,文章写的非常好,有大量的通俗易懂的例子及解释。以下关于rsync参数选项的说明,就抄录自该文章。v:显示rsync过程中详细信息。可以使用"-vvvv"获取更详细...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。