nginx在国产服务器上stream配置项无法识别的问题

最近在搭建k8s+ranchar,需要用到nginx做负载均衡,之前在系统中也会用到,之前一直使用http选项,做转发配置。

基本格式如下图所示:

图片

但是在ranchar的安装中默认方式使用stream配置项。

图片

使用yum默认安装的nginx不支持该关键字。

默认使用的版本是1.23.0,后来查了资料,可能是版本太高了,于是降低了版本,发现还是不支持,于是从官网下载源码包。

官网地址:https://nginx.org/en/download.html

使用需要进行配置、编译、安装,在配置过程中添加上对stream选项的支持即可。

# 添加使用--with-stream=dynamic 配置./configure --prefix=/usr/local/nginx/ --with-stream=dynamic# 然后make  make# 然后make  installmake install

安装之后,nginx就会被安装在/usr/local/nginx/路径下,测试可以进入/usr/local/nginx/conf路径下,使用stream的配置选项了

Nginx 的stream与http对比

问题是解决了,但是为什么要有两个类型的配置项?他们有什么区别呢?

Stream模块用于处理TCP、UDP和TLS协议,可以用来代理和负载均衡各种不同类型的流量。它能够支持代理和负载均衡TCP流量,例如SMTP、MySQL和Redis等。NGINX Stream模块支持按需加载,并提供配置选项来控制代理和负载均衡流量的行为。

HTTP模块则是用于处理HTTP请求和响应的模块。它作为一个反向代理,可以实现HTTP服务器上的负载均衡和缓存功能。HTTP模块还支持SSL/TLS终止、请求转发以及访问控制等功能。NGINX HTTP模块支持HTTP 1.0、HTTP 1.1和HTTP/2协议,并提供许多配置选项来调整HTTP交互的行为。

因此,NGINX Stream和HTTP之间的主要区别在于它们处理的协议和使用的功能不同。Stream模块适用于TCP、UDP和TLS流量的代理和负载均衡,而HTTP模块则专注于处理HTTP请求和响应。

而且我还做了实验,使用http模式来配置,nginx确实能启动,但是却不能在浏览器上打开rancher的页面,换成stream版本的就可以顺利打开~

结束~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shanshan3003

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值