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

Nginx常用编译模块

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

    因为某些特殊需求,最近在折腾网站支持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设置其他构建选项。


分享给朋友:

相关文章

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

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

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

Centos7学习笔记(三)——重定向、通配符、正则

Centos7学习笔记(三)——重定向、通配符、正则

1、STDIN、STDOUT、STDERR输入重定向和输出重定向的符号和作用,分别在下面2个表中。注意:当输出结果是error时,是不能将结果重定向到“标准输出”中,反之,输出结果是“标准输出”,也不能重定向至错误输出中。如下图实例:[study@nfs01 ~]$sudo echo "00 1 * * * /usr/bin/rsync  -avz -r /etc/r...

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建的文件系统...

phpldapadmin之config.php过滤

phpldapadmin之config.php过滤

完全过滤掉/*--------*/"和空行,以及”//“开头、”#“开头的行,sed  -e '/\/\*/,/\*\//d' config.php|grep -Ev "(^$)|(^(\/\/))|(^#)"sed  -e '/\/\*/,/\*\//d' -e '/^\/\//d' -e ...

 Centos7学习笔记(十二)- inotify+rsync与sersync

Centos7学习笔记(十二)- inotify+rsync与sersync

1、inotify-tools的安装yum安装,安装好epel源后,yum -y install inotify-tools源码安装:wget  https://github.com/inotify-tools/inotify-tools/releases/download/3.20.2.2/inotify-tools-3.20.2.2.tar.gz tar zxvf inotify-tools-3.20.2.2.tar.gz cd inot...

 Centos7学习笔记(十五)- ansible初步

Centos7学习笔记(十五)- ansible初步

1、安装要求管理主机:必须不能是windows系统。类Uinx系统下,python版本为2.6或者2.7。OS X系统,需修改ulimit值才能使用ansible的多子进程。托管节点:Python版本不得低于2.4,如果Python版本低于2.4,那么需要安装python-simplejson模块。2、ansible安装redhat系需要安装epel源,fedora不用,可以直接安装yum -y install ansible(yum -y install libselinux-python,系...

发表评论

访客

看不清,换一张

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