欢迎光临
我们一直在努力

Nginx

Nginx(发音同“engine X”)是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。该软件由伊戈尔·赛索耶夫创建并于2004年首次公开发布[6]。2011年成立同名公司以提供支持[7]。2019年3月11日,Nginx公司被F5 Networks以6.7亿美元收购[8]。 Nginx是免费的开源软件,根据类BSD许可证的条款发布。一大部分Web服务器使用Nginx[9],通常作为负载均衡器。[10]
解Bug之路-Nginx 502 Bad Gateway-IT技术资讯

解Bug之路-Nginx 502 Bad Gateway

admin阅读(1632)评论(0)赞(3)

前言 事实证明,读过Linux内核源码确实有很大的好处,尤其在处理问题的时刻。当你看到报错的那一瞬间,就能把现象/原因/以及解决方案一股脑的在脑中闪现。甚至一些边边角角的现象都能很快的反应过来是为何。笔者读过一些Linux TCP协议栈的源...

NGINX 中文日志十六进制编码问题

admin阅读(1325)评论(0)赞(6)

Nginx访问日志在处理中文时,默认使用16进制编码处理。使我们对访问日志进行分析处理时,带来很大不便。含有中文字符的请求,日志记录如下: 171.43.238.62 - - [05/Dec/2017:21:40:57 +0800] "GE...

nginx模块之split_clients

admin阅读(1027)评论(0)赞(2)

split_clients模块默认已经编译进Nginx , 通过–without-http_split_clients_module 禁用。 功能: 1、基于已有变量创建新变量,可为实现AB测试提供更多的可能性。 2、对已有变量的值执行Mu...

Nginx之tcp_nodelay-IT技术资讯

Nginx之tcp_nodelay

admin阅读(1529)评论(0)赞(5)

一、知识准备 ● 在nginx优化中有个经常需要设置的参数,tcp_nodelay ● 该参数最核心的功能,就是把小包组成成大包,提高带宽利用率也就是著名的nagle算法 ● tcp协议中,有一个现象:应用层数据可能很低(比如1个字节),而...

nginx请求行读取流程

admin阅读(1207)评论(0)赞(7)

在读取数据完成之后,nginx会将读取事件的回调方法设置为ngx_http_process_request_line(),这个方法主要有如下几个作用: 读取客户端请求的数据,如果客户端数据读取不全,则继续监听客户端读事件以读取完整数据; 解...

Nginx 与 Lua 的执行顺序和步骤说明

admin阅读(1855)评论(0)赞(7)

一、Nginx执行步骤 Nginx处理每一个用户请求时,都是按照若干个不同阶段(phase)依次处理的,而不是根据配置文件上的顺序。 Nginx处理请求的过程一共划分为11个阶段,按照执行顺序依次是post-read、server-rewr...

由动态修改ssl protocols引发的问题

admin阅读(2244)评论(0)赞(1)

概述 最近我一直在做动态加载的事情,希望把常用的变更都通过lua动态设置并生效到nginx内核中。 这就包括了根据SNI动态修改tls的版本和加密套件,因为理论上在SSL的client hello后才进行版本的协商,在SNI回调函数修改ss...

因业务逻辑太重导致nginx延迟读引发的问题

admin阅读(1192)评论(0)赞(2)

概述: 在nginx做一些请求内容过滤的操作。当用户上传一个大文件时,偶然会有上传失败的情况,当关闭内容过滤时问题不再发生。 初步定位是和文件过滤有关系,在测试环境模拟了很多次都无法复现。 问题追踪 在生产环境抓包,上传失败是因为nginx...

一文搞定 Nginx 限流配置-IT技术资讯

一文搞定 Nginx 限流配置

admin阅读(1068)评论(0)赞(0)

限流算法 令牌桶算法 算法思想是: 令牌以固定速率产生,并缓存到令牌桶中; 令牌桶放满时,多余的令牌被丢弃; 请求要消耗等比例的令牌才能被处理; 令牌不够时,请求被缓存。 漏桶算法 算法思想是: 水(请求)从上方倒入水桶,从水桶下方流出(被...

Nginx缓存之缓存静态内容

admin阅读(1027)评论(0)赞(3)

NGINX虽然已经对静态内容做过优化。 但在高流量网站的情况下,仍然可以使用open_file_cache进一步提高性能。 NGINX缓存将最近使用的文件描述符和相关元数据(如修改时间,大小等)存储在缓存中。 缓存不会存储所请求文件的内容。...

Nginx网络吞吐量之buffers优化

admin阅读(1840)评论(0)赞(2)

请求缓冲区在NGINX请求处理中起着重要作用。 在接收到请求时,NGINX将其写入这些缓冲区。 这些缓冲区中的数据可作为NGINX变量使用,例如$request_body。 如果缓冲区与请求大小相比较小,则数据将写入磁盘上的文件,因此将涉及...

Nginx配置性能优化之I/O和TCP配置

admin阅读(1182)评论(0)赞(0)

Sendfile 当应用程序传输文件时,内核首先缓冲数据,然后将数据发送到应用程序缓冲区。 应用程序反过来将数据发送到目的地。 Sendfile方法是一种改进的数据传输方法,其中数据在操作系统内核空间内的文件描述符之间复制,而不将数据传输到...

Nginx 的 TCP 负载均衡介绍-IT技术资讯

Nginx 的 TCP 负载均衡介绍

admin阅读(1215)评论(0)赞(3)

Nginx除了以前常用的HTTP负载均衡外,Nginx增加基于TCP协议实现的负载均衡方法。 HTTP负载均衡,也就是我们通常所有“七层负载均衡”,工作在第七层“应用层”。而TCP负载均衡,就是我们通常所说的“四层负载均衡”,工作在“网络层...

nginx 1.19.0 主线版发布-IT技术资讯

nginx 1.19.0 主线版发布

admin阅读(985)评论(0)赞(4)

nginx 1.19.0 主线版已发布,更新内容如下: Feature: 使用 OCSP 进行客户端证书验证 Bugfix: 修复与 gRPC 后端搭配使用时,可能出现的”upstream sent frame for clos...

记一次LVS/Nginx环境下的访问控制-IT技术资讯

记一次LVS/Nginx环境下的访问控制

老王阅读(907)评论(0)赞(2)

偶然间,我发现 Graphite 显示服务器网卡流量呈锯齿状,于是查了一下 Nginx 日志,发现有人在周期性抓我们的接口数据。我这爆脾气自然不能容忍这种行径。   简单分析一下访问日志,很容易就能拿到了可疑的 IP 段,直接用 ...

Nginx带宽控制

老王阅读(868)评论(0)赞(0)

有个老项目,通过 Squid 提供文件下载功能,利用 delay_parameters 实现带宽控制,问题是我玩不转 Squid,于是盘算着是不是能在 Nginx 里找到类似的功能。   好消息是 Nginx 提供了 limit_...

Nginx缓存解决方案:SRCache-IT技术资讯

Nginx缓存解决方案:SRCache

老王阅读(901)评论(0)赞(1)

前些天帮别人优化PHP程序,搞得灰头土脸,最后黔驴技穷开启了FastCGI Cache,算是勉强应付过去了吧。不过FastCGI Cache不支持分布式缓存,当服务器很多的时候,冗余的浪费将非常严重,此外还有数据一致性问题,所以它只是一个粗...

源码分析 Nginx 数据接收流程详解

admin阅读(1084)评论(0)赞(0)

        在nginx基于epoll模型事件驱动流程详解中我们讲到,epoll在触发accept事件之后,会回调ngx_event_accept()方法。这个方法主要做了两件事: 获取accept到的客户端连接句柄,并且初始化一个ng...

OpenResty 官方开源社区论坛-IT技术资讯

OpenResty 官方开源社区论坛

admin阅读(2140)评论(0)赞(2)

点击 https://forum.openresty.us/ 直达 一直以来 OpenResty 开源社区没有官方论坛,社区的讨论分散在邮件列表,github,以及这种 IM 交流群里。为了更好的沉淀社区的讨论,方便搜索引擎检索,也为了方便...

nginx基于epoll模型事件驱动流程详解-IT技术资讯

nginx基于epoll模型事件驱动流程详解

admin阅读(927)评论(0)赞(2)

epoll是一种基于事件驱动的模型,其是nginx能够高效处理客户端请求的重要原因之一。从流程上来讲,epoll模型的使用主要分为三步:epoll句柄的创建,监听文件描述符的添加和等待事件的触发,本文将介绍nginx是如何基于这三个步骤实现...

源码分析 Nginx 请求行读取流程

admin阅读(1008)评论(0)赞(3)

        在前面的文章中我们讲解了当一个请求到达时,nginx是如何建立连接并且读取数据的。在读取数据完成之后,nginx会将读取事件的回调方法设置为ngx_http_process_request_line(),这个方法主要有如下几...

Nginx实现反向代理 Node.js

admin阅读(928)评论(0)赞(4)

公司有项目前端是用node.js进行服务器渲染,然后再返回给浏览器,进而解决单页面的SEO问题。项目部署的时候,使用Nginx反向代理Node.js。具体的步骤如下: (Nginx、Node.js的安装和基本配置直接跳过) 首先我们要在ng...