nginx
文章平均质量分 71
wwyyxx26
这个作者很懒,什么都没留下…
展开
-
nginx使用ngx_shared_memory_add和ngx_slab_alloc等在共享内存里创建一棵红黑树
nginx是多进程的运行的一个程序,对需要跨进程访问的资源,nginx提供了共享内存上的slab来管理。这里我们实现一个在slab上的红黑树首先,我们在配置阶段来创建一块共享内存,然后再该共享内存上使用nginx的slab机制,把这块共享内存管理起来,方便我们分配红黑树相关的内容。static void ngx_jtxy_create_shared_memory(ngx_conf_t *cf, ngx_jtxy_conf_t* jtxy_cf){ ngx_shm_zone_t *shm_zo原创 2022-01-13 17:25:04 · 2062 阅读 · 0 评论 -
nginx里一个请求的count计数跟踪
nginx里一个请求的count计数跟踪首先说明一下应用方式,有两个nginx的模块,一个名为jtxy,另一个名为jtcmd。一个http请求来了,会进入jtxy的模块处理,jtxy会创建出一个子请求发送给jtcmd,jtcmd里处理呢又会创建出一个upstream流到我们的上游非http服务A来处理,A处理完成后得到结果,会把结果返回给jtcmd的子请求,jtcmd的子请求把结果返回给jtxy。就是这样一个流程,我们来跟踪一下一个请的count计数。原创 2021-12-31 15:45:30 · 2077 阅读 · 0 评论 -
使用vscode和gdb调试nginx多进程
如题,因为nginx是一个多进程的服务,虽然可以单进程运行,但是为了更符合实际使用的方式,还是开启多进程模式,主要是创建一个launch.json内容如下{ // 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。 // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 // nginx 调试需要把改为单进程模式 "version": "0.2.0",原创 2021-12-29 15:59:58 · 1707 阅读 · 0 评论 -
nginx里使用ngx_http_add_variable和ngx_http_get_indexed_variable来创建自定义变量并使用
首先我们在nginx.conf里设置一个自定义的变量,例如 location /wyx { set $sean_key "12214"; }这里我们用了set指令,set指令是ngx_http_rewrite_module模块提供给我们的一个指令。它的作用就是给变量设置一个值。这里我们给变量sean_key赋值为"12214"。但是sean_key不是内置变量,nginx并不是别变量名sean_key,我们在nginx里自己写一个模块里要原创 2021-12-08 17:05:51 · 3081 阅读 · 0 评论 -
nginx里ngx_http_compile_complex_value和ngx_http_complex_value的初步使用
以上面的配置块为例,我们要在nginx运行时获取内置变量$arg_key的值,$arg_keyA内置变量表示在http的get请求时的参数名为key的参数,比如请求http://127.0.0.1:8881/wyx?keyA=42,我们要通过ngx_http_compile_complex_value和ngx_http_complex_value来获取keyA的值...,如何通过自定义变量来获取这个值呢原创 2021-11-03 16:56:35 · 2389 阅读 · 0 评论