nginx
这里探讨了nginx的各种知识
我要精通C++
这个作者很懒,什么都没留下…
展开
-
ngx_http_lua_regex
【代码】ngx_http_lua_regex。原创 2024-03-25 20:29:11 · 139 阅读 · 0 评论 -
ngx_http_set_response_header阅读
【代码】ngx_http_set_response_header阅读。原创 2023-11-02 20:00:00 · 1007 阅读 · 0 评论 -
ngx_http_request_s
【代码】ngx_http_request_s。原创 2023-10-31 16:05:22 · 613 阅读 · 0 评论 -
ngx_http_module_t
【代码】ngx_http_module_t。原创 2023-08-07 16:48:46 · 177 阅读 · 0 评论 -
lua-nginx-module
【代码】nginx嵌入lua模块。原创 2023-08-07 14:39:21 · 686 阅读 · 0 评论 -
【Nginx】探索在Nginx使用过程中涉及到的缓存
1.浏览器缓存与Nginx缓存浏览器缓存优点:(1)使用有效缓存的时候,没有网络消耗,速度最快;(2)缓存失效时,针对失效缓存使用的304响应使得网络流量消耗最小化.缺点:仅仅提升一个用户的体验....原创 2020-11-20 19:04:47 · 245 阅读 · 0 评论 -
【Nginx】如何高效地均衡应用层负载
1.引言参照陶辉老师在开源社区基础培训课中的内容:链接:https://www.bilibili.com/video/BV13f4y1d7PX?t=26UP主 【F5Networks】感谢2.原创 2020-11-19 12:45:52 · 235 阅读 · 0 评论 -
【Nginx】Nginx中的连接池
1.Nginx中的连接池find . -name "*h" | xargs grep "ngx_cycle_t"find . -name "*h" | xargs grep "struct ngx_cycle_s"中找到数据的定义在下面两个文件中:/home/muten/module/nginx-1.13.7/src/core/ngx_core.h/home/muten/module/nginx-1.13.7/src/core/ngx_cycle.h(1)ngx_core.htype原创 2020-11-08 20:47:07 · 1213 阅读 · 0 评论 -
【Nginx】作为反向代理时对上游使用SSL连接
1.引言 之前用letsencrypt演示了Nginx如何支持SSL以实现全站加密的网络安全效果.在那个场景中只是Nginx作为server使用了自己的证书,把自己的证书告诉客户端.其实Nginx也可以验证客户端的证书是否有效,Nginx作为反向代理服务器的时候,如果其连接的上游服务器也使用了SSL,那么Nginx也可以验证上游服务的证书是否有效.如果上游服务要求Nginx必须使用一个SSL证书,NGINX也可以在连接上游时使用一个新的证书.所以这里新增了三种SSL使用场景,接下来我们将原创 2020-11-20 18:48:48 · 522 阅读 · 0 评论 -
【Nginx】反向代理流程二
1.http反向代理流程接受响应头部--由Nginx的框架upstream来处理的处理响应头部--由各个反向代理模块来处理的,比如说gipc,fastcgi,uwsgi,httproxy.会有一个 最大的内存长度来限制,就是通过proxy_buffer_size来限制.2.proxy_buffer_sizeSyntax: proxy_buffer_size size;Default:proxy_buffer_size 4k|8k;Context:http,原创 2020-11-15 15:23:28 · 564 阅读 · 0 评论 -
【Nginx】如何找到处理请求的server指令块
1.server_name指令指令后可以跟多个域名,第1个是主域名server_name指令参数配置示例Syntax server_name_in_redirect on | off;Default server_name_in_redirect off;Context http, server, location*泛域名:仅支持在最前面或者最后server_name *.taohui.tech正则表达式:加~前缀server_name www.taohui.tech原创 2020-11-12 14:19:19 · 203 阅读 · 0 评论 -
【Nginx】处理http请求头部的流程
1.接受请求事件模块2.接受请求http模块原创 2020-11-12 10:57:25 · 565 阅读 · 0 评论 -
【Nginx】冲突的配置指令以谁为准?
1.Nginx中的配置的嵌套结构main--事件模块,配置进程,user,上下文等,都是在main中的;http{ upstream{} split_client{} map{} geo{} server{ location{} }}http-server-location是http服务的框架所定义的核心模块,处理请求的时候要先按照请求中请求的域名(比如host找到相应原创 2020-11-11 21:23:55 · 646 阅读 · 0 评论 -
【Nginx】反向代理流程一
1.作用The ngx_http_proxy_module module allows passing requests to another server.ngx_http_proxy_module可以实现功能转发.2.ngx_http_proxy_module的总括官方文档http://nginx.org/en/docs/http/ngx_http_proxy_module.htmlExample Configuration location / { proxy.原创 2020-11-14 19:06:58 · 705 阅读 · 0 评论 -
【Nginx】Nginx中的共享内存及共享内存slab管理器
1.Nginx中的共享内存的分类 共享内存是Nginx跨worker通信的最有效手段,只要我们需要让一段业务逻辑在多个worker进程中同时生效,比如在许多集群的流控上,必须使用共享内存,而不能在每一个worker进程中使用.Nginx中的共享内存的分类:1.基础同步工具(1)信号;(2)共享内存.2.高级通讯方式(1)锁(2)Slab内存管理器;2.锁与Slab内存管理器为了使用好共享内存会引出两个问题:(1)多个进程同时操作一块内存会出现竞争关系,所以我们需要原创 2020-11-10 16:08:21 · 728 阅读 · 0 评论 -
【Nginx】阻塞非阻塞与同步异步
1.概念理解1.阻塞方法:操作系统或者底层的C库提供的方法或者一个系统调用可能会(当前的条件不满足)导致进程sleep状态,操作系统运行此进程的CPU切换成去执行其他进程,这样的方法称作阻塞方法.2.非阻塞方法:操作系统或者底层的C库提供的方法或者一个系统调用永远不会因为除了时间片到了的情况而被操作系统将执行当前进程的CPU切换去执行其他进程,这样的方法称作非阻塞方法. ...原创 2020-11-08 10:29:43 · 606 阅读 · 0 评论 -
ngx_http_output_filter
nginx原创 2022-06-12 21:04:45 · 465 阅读 · 0 评论 -
nginx做https反向代理的配置示例
nginx的https反向代理原创 2022-06-08 20:43:03 · 296 阅读 · 0 评论 -
【Nginx】ngx_http_upstream_module
1.一些概念1.反向代理与反向代理服务器反向代理的方向与正向代理相反,指代表外部网络用户向内部服务器发出请求,即接收来自Internet上用户的连接请求,并将这些请求转发给内部网络上的服务器,然后将从内部服务器上得到的响应返回给Internet上请求连接的客户:执行反向代理服务的服务器称为反向代理服务器,反向代理服务器对外部用户表现为一个服务器.2.负载均衡(load balancer)负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服原创 2020-11-12 20:59:26 · 770 阅读 · 0 评论 -
从源码看Nginx运行过程
1.源码main函数版本是1.13.7int ngx_cdeclmain(int argc, char *const *argv){ ngx_buf_t *b; ngx_log_t *log; ngx_uint_t i; ngx_cycle_t *cycle, init_cycle; ngx_conf_dump_t *cd; ngx_core_conf_t *ccf; ngx_de原创 2020-12-29 18:17:12 · 315 阅读 · 0 评论 -
nginx共享内存的方式
nginx共享内存的方法原创 2022-07-01 14:45:35 · 595 阅读 · 0 评论 -
NGINX常用函数学习
常用函数原创 2022-08-10 14:03:26 · 1288 阅读 · 0 评论 -
【Nginx源码】Nginx中的模块描述
模块定义原创 2022-06-14 00:05:59 · 354 阅读 · 0 评论 -
Nginx命令行及演示重载,热部署和日志切割
1.命令行1.格式:nginx -s reload2.帮助: -h或者-?3.使用指定的配置文件:-c(为Nginx指定一个配置文件,来代替缺省的)4.指定配置指令:-g(在配置文件中设置全局指令)5.指定运行目录:-p(设置nginx路径前缀,比如一个存放着服务器文件的目录(默认是/usr/local/nginx))6.发送信号:-s(向主进程发送信号) (1)stop -- 快速关闭(强制关闭,比较粗暴 (2)quit -- 正常关闭原创 2020-11-02 09:58:38 · 293 阅读 · 0 评论 -
【Nginx】反向代理流程四-上游出现失败时的容错方案
1.上游出现失败时的容错方案"【Nginx】反向代理流程"一中提到的proxy_next_upstream以及本文中的 proxy_next_upstream_timeoutproxy_next_upstream_tries指令都可以对反向代理过程中上游出现失败时进行一定的设置和处理.http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_next_upstreamhttp://nginx.org/en/docs原创 2020-11-20 15:22:50 · 986 阅读 · 0 评论 -
nginx做http反向代理的配置示例
http反向代理原创 2022-06-08 20:02:22 · 159 阅读 · 0 评论 -
【Nginx】使用动态模块提升运维效率
1.不使用和使用动态模块的不同(1)不使用动态模块NginxSource+ModuleSource-->NginxBuildSystem-->Nginx二进制可执行文件(2)使用动态模块(编译的时候指定某些模块使用动态模块的方式去编译)NginxSource+ModuleSource-->NginxBuildSystem-->Nginx二进制可执行文件+ModuleSharedObject动态库:静态库:把源代码编译进二进制文件中;...原创 2020-11-11 15:06:55 · 98 阅读 · 0 评论 -
【Nginx】学习资料
NGINX开源社区技术专题系列课程(K8S与容器专题)-Slide原创 2021-03-01 10:32:42 · 141 阅读 · 0 评论 -
【Nginx】深入剖析HTTP缓存
1.Nginx缓存的淘汰算法原创 2020-11-19 19:24:17 · 107 阅读 · 0 评论 -
【Nginx】Nginx的模块与源码结构分析
1.Nginx的模块设计优良,从2004年发布到现在,没有发生大的变化.学习Nginx的模块的高明之处,我们在学习一个模块的时候要从以下方面来进行学习:1.这个模块要被编进Nginx中,这个是前提;2.这个模块提供了哪些配置项;3.这个模块什么时候被使用(有些模块只要编进Nginx默认会被使用,有些模块必须使用配置项并正确配置时才会被使用);4.这个模块提供了哪些变量....原创 2020-11-08 13:48:24 · 394 阅读 · 0 评论 -
利用Nginx配置一个静态的资源服务器
1.auto_index功能ngx_http_autoindex_module 模块可以列出目录中的文件。 一般当ngx_http_index_module模块找不到默认主页的时候,会把请求转给 ngx_http_autoindex_module模块去处理。Nginx默认是不允许列出整个目录的。如需此功能,打开nginx.conf文件,在location server 或 http段中加入autoindex on;另外两个参数最好也加上去: autoindex_exact_size off原创 2020-11-02 15:43:51 · 514 阅读 · 0 评论 -
用Nginx搭建一个具有缓存功能的反向代理服务
1.安装openresty目标目录:/usr/local/openresty/nginx/sbin/nginx2.原创 2020-11-02 18:55:24 · 242 阅读 · 0 评论 -
Failed to start nginx.service: Unit is not loaded properly: Bad message
我的这个报错是因为我的配置文件:/usr/lib/systemd/system/nginx.service没有被正确加载.改好之后重新加载就可以了.具体问题应该还是要具体分析一下.原创 2020-12-21 20:41:09 · 9594 阅读 · 4 评论 -
Nginx中的网络安全问题
1.从网络原理来看SSL安全协议原创 2020-11-03 02:08:44 · 304 阅读 · 0 评论 -
【Nginx】listen指令与Nginx中的正则表达式
1.listen指令2.Nginx的正则表达式正则表达式语言由两种基本字符类型组成:原义(正常)文本字符和元字符.元字符使正则表达式具有处理能力.所谓元字符就是指那些在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式..* 一个字符出现0次或者很多次.+ 一个字符必须一次或多次\d{3} 数字出现三次\d{6,8} 数字出现六到八次...原创 2020-11-12 10:38:08 · 310 阅读 · 0 评论 -
【Nginx】Nginx中的内存池
1.引言如果你开发过Nginx第三方模块,会发现虽然我们在写C语言的代码,但是我们不需要关系内存的释放.如果你现在配置一些比较罕见的Nginx使用场景的配置,你可能需要去修改Nginx在请求和连接上初始分配的内存池的大小,但是Nginx官方上通过会写着不要去改这样的配置,究竟要不要改呢?...原创 2020-11-09 12:08:03 · 211 阅读 · 0 评论 -
Nginx的事件驱动模型
1.网络收发与Nginx事件间的对应关系主机A是我们家里的一台笔记本电脑,主机B是部署着Nginx的服务器,从主机A发送一个http的get请求到主机B,在这样的过程中究竟经历了什么网络事件呢?在数据流中,1.主机A的应用层:发送一个http请求;2.主机A的传输层:做一件事,浏览器打开一个端口,会将端口记下,并把Nginx打卡的端口比如说8080也记录到传输层;3.主机A的网络层:记录我们主机A所在的IP和目标Nginx主机B的公网IP;4.主机A的链路层:经过以太网到达我们家的路由器原创 2020-11-03 15:52:03 · 466 阅读 · 0 评论 -
【Nginx】http框架的执行流程
1.HTTP请求处理的11个阶段阶段 功能 命令 保留1 保留2 NGX_HTTP_POST_READ_PHASE 读取请求内容阶段 realip NGX_HTTP_SERVER_REWRITE_PHASE Server 请求地址重写阶段 rewrite NGX_HTTP_FIND_CONFIG_PHASE 配置查找阶段 NGX_HTTP_REWRITE_PHASE...原创 2020-11-12 17:52:40 · 209 阅读 · 0 评论 -
Nginx架构初识
1.Nginx请求处理流程Nginx运行在企业内网的最外层,是边缘节点,它处理的流量是其他应用服务器的数倍或者是几个数量级倍,Nginx在处理问题的过程中问题会被放大,我们需要了解:1.为什么采用master-worker这种架构模型;2.为什么worker进程的数量要和CPU核数相匹配;3.多个进程间共享数据方式为什么在TLS或者对一些限流限速这样的场景下不同;...非阻塞的事件驱动处理引擎-epoll做反向代理的时候可以对反向代理的内容做磁盘缓存,缓存到磁盘上,但是在处理静态资原创 2020-11-03 10:22:08 · 113 阅读 · 0 评论 -
Nginx学习记录
nginx学习原创 2022-06-07 00:27:26 · 115 阅读 · 0 评论