Nginx安装http2和ssl模块

Nginx安装http2和ssl模块

Nginx在执行默认安装命令的时候,并不会编译启用ngx_http_v2_module模块。故在修改Nginx配置文件启用http2.0协议的时候会报错。

一.检查Nginx安装了哪些模块

shell 复制代码
#进入Nginx的安装目录
cd /usr/local/nginx
#执行命令查看安装了哪些模块
./sbin/nginx -V

如图就是没有安装ngx_http_v2_module模块

二.重新编译Nginx

Nginx有两个目录,一个是安装目录,一个是源码目录,安装目录就是执行安装流程后的目录,一般默认位置是/usr/local/nginx

源码目录就是Nginx安装包解压的目录,也就是执行make和make install的文件目录

进入到nginx源码目录重新编译,通过--with-http_v2_module启用ngx_http_v2_module模块,然后make 。

注意这里不要执行make install,如果执行了install会覆盖之前的安装目录

shell 复制代码
#进入源码目录
cd /home/ngtl/nginx-1.22.0/
#配置编译文件,如果上一步有已经启用的模块则需要包括已启用的模块和ngx_http_v2_module模块
#这里一并安装了其余两个常用的模块,包括ssl和stub_status监视模块
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module

等待执行完毕

shell 复制代码
#然后make编译
make

等待编译完成

编译后的新生成的nginx文件在源码目录的objs目录下,如图所示:

三.替换原有的Nginx文件

shell 复制代码
#备份
cd /usr/local/nginx/sbin
mv nginx nginx.bak
#替换Nginx文件
cp /home/ngtl/nginx-1.22.0/objs/nginx /usr/local/nginx/sbin
ls

然后检查模块是否安装成功

shell 复制代码
cd /usr/local/nginx/sbin
./nginx -V

至此Nginx新增模块就成功了

相关推荐
Raina测试1 小时前
Maestro实现IOSUI自动化
运维·自动化
不像程序员的程序媛8 小时前
系统cpu内存负载资源分析
运维·服务器·数据库
全栈前端老曹10 小时前
【MongoDB】安全与权限管理 —— 用户认证、角色权限、SSL 加密
前端·javascript·数据库·安全·mongodb·nosql·ssl
Asuicao11 小时前
centos7.9版本升级ssh OpenSSH 9.8p1 源码 OpenSSL 1.1.1w 源码包以及安装升级回滚文档
运维·ssh
志栋智能12 小时前
超自动化安全中的威胁狩猎
运维·安全·自动化
↘"LYong12 小时前
旧版 CentOS 安装 Docker 完整指南(附国内镜像加速)
linux·运维·docker
Elastic 中国社区官方博客13 小时前
Elastic 在 Everest Group 企业搜索产品 PEAK Matrix® 评估 2026 中被评为领导者
大数据·运维·人工智能·elasticsearch·搜索引擎·ai·全文检索
程序员在囧途13 小时前
likeadmin-api API 中转站怎么做统一报价?从 /pricing、/user/balance 到 task_id 回执的落地方法
运维·服务器·数据库·likeadmin-api·api中转站·token计费
想你依然心痛14 小时前
Linux用户空间与内核空间通信:netlink、ioctl、mmap 零拷贝与性能对比
linux·运维·服务器
沉静的小伙14 小时前
在微服务中使用领域事件
java·运维·微服务