ICode9

精准搜索请尝试: 精确搜索
  • nginx ngx_http_degradation_module 模块2022-08-21 19:00:29

    ngx_http_degradation_module 是一个不错的nginx 模块,但是官方文档没有写,主要的场景 是在低内存的情形下允许Nginx服务器返回444错误或204错误 参考使用   http { degradation sbrk=500m; // main 级别的 server { location /some { degrade 204; // loca

  • nginx ngx_http_addition_module 模块openresty content_by_lua 不能生效的原因2022-08-16 00:32:23

    nginx 的ngx_http_addition_module 模块也是一个修改content 的好东西,对于openresty 我们经常使用content_by_lua 阶段处理 但是经过分析ngx_http_addition_module 源码的处理机制,他是基于body_fiter 处理的,所以我们基于content_by_lua 进行数据处理 会有顺序不对的问题 参考源

  • Nginx隐藏响应头信息的Server信息和版本信息2022-08-08 00:35:15

    问题如下 解决办法 隐藏nginx版本信息 nginx/conf/nginx.conf http { ... server_tokens off ... } 隐藏server信息 实现方案:需要重新编译nginx 进入解压出来的nginx源码目录(不是nginx的安装目录) vim src/http/ngx_http_header_filter_module.c # 49-50行

  • nginx-1.22.0添加ngx_http_sticky_misc模块编译报错2022-07-30 20:34:02

    报错:/root/nginx-goodies-nginx-sticky-module/ngx_http_sticky_misc.c:176:15     sed -i '12a #include <openssl/sha.h>' /root/nginx-sticky-1.2.5/ngx_http_sticky_misc.csed -i '12a #include <openssl/md5.h>' /root/nginx-sticky-1.2

  • Sword nginx slab源码解析一2022-07-23 12:31:06

    /* * Copyright (C) Igor Sysoev * Copyright (C) Nginx, Inc. */ #ifndef _NGX_SLAB_H_INCLUDED_ #define _NGX_SLAB_H_INCLUDED_ #include <ngx_config.h> #include <ngx_core.h> typedef struct ngx_slab_page_s ngx_slab_page_t; struct ngx_slab_

  • 记一次openresty协程返回结果错乱排查2022-07-20 22:34:48

    记一次openresty协程返回结果错乱排查 现场 在我普通的日常开发中,我写了一段普通查redis的代码,上线以后马上有报错,nginx errorlog如下 ERROR : "xxx/redis.lua:175: bad argument #1 to 'byte' (string expected, got boolean)" "POST xxx HTTP/1.1" 然后马上看了下产生报错的代

  • H5 IONIC 3国际化配置2022-07-18 16:34:17

      开发规范: 1、多语言目前均采用的中文,防止某些系统异常,即可默认显示中文 2、html中书写规范 2.1 文本标签   <ion-label> {{'开始时间' | translate}} </ion-label> 2.2 组件  <ion-input type="text" [placeholder]="'请输入会议名称(必填)' | translate" class="font

  • centos 离线安装 nginx2022-07-17 23:37:41

    ===============================================  2022/7/17_第1次修改                       ccb_warlock   =============================================== 由于我在centos上部署nginx多数是采取docker运行或有互联网的服务器进行部署,但是本周临

  • Pod2022-07-17 09:01:12

    目录Yaml操作 Yaml apiVersion: v1 kind: Pod metadata: name: my-pod labels: app: ngx tier: frontend spec: containers: - name: ngx-container image: nginx 操作 kubectl apply -f pod.yaml kubectl describe pod my-pod -n default -o wide kubec

  • Nginx反向代理设置黑名单2022-07-12 22:00:22

    Nginx反向代理设置黑名单 作为架构师,你必须掌握 openresty Openresty设置访问黑名单 1、简单设置nginx配置文件 (py36env) [root@www conf]# ll nginx.conf    配置新的location               location /bklist {                   access_by_l

  • Nginx高并发(三万字长文)2022-07-06 09:03:09

    Nginx高并发编程 转载请声明!!!切勿剽窃他人成果。本文如有错误欢迎指正,感激不尽。 参考资料:Spring Cloud、Nginx高并发核心编程尼恩编著、以及菜鸟教程等互联网资源 所有例子均是本人亲自上机后,将代码或结果复制回来的。 一、Nginx/OpenResty详解 1.1 Nginx简介 Nginx有以下3个主

  • lua中table中null的表示方法以及判断redis返回null2022-07-01 01:32:26

    今天遇到一个麻烦的问题,查询redis时候,查到数据的时候正常返回,查询不到数据时,返回了null,然而在lua中,常见的nil,但不常见null,这时候lua中对redis返回的null如何做判断呢?于是各种尝试。这是经过公司基础库封装的结果,并非官方的返回,redis返回结果如下: {"retmsg":"","result":null,"ret

  • nginx源码层面探究request_time、upstream_response_time、upstream_connect_time与upstream_header_time指标具体含义2022-06-29 00:31:46

    背景概述 最近计划着重分析一下线上各api的HTTP响应耗时情况,检查是否有接口平均耗时、99分位耗时等相关指标过大的情况,了解到nginx统计请求耗时有四个指标:request_time、upstream_response_time、upstream_connect_time与upstream_header_time,在查找资料的过程中,发现无论是nginx官

  • Nginx 模块开发2022-06-20 01:32:17

    一、在了解Nginx模块开发前,首先得知道在Nginx中http初始化流程、11个状态机、http请求具体流程。 (1)conf文件加载   对conf文件内容进行初始化,在命令行执行nginx -c ./conf/nginx.conf的之后,开始解析conf文件,启动http模块(入口:ngx_http_block)。 (2)状态机初始化   ngx_http_init_p

  • Nginx: ngx_http_v2_module2022-05-21 19:34:15

    Module ngx_http_v2_module (nginx.org)                                      

  • 《深入理解ngx》—— 基础模块2022-05-17 22:01:34

    1. configure 添加模块 1.1 添加一个 http 模块 在./src/test下创建config 内容如下 # 定义模块名称 1 ngx_addon_name=ngx_http_test_module # 向http类添加 新模块 2 HTTP_MODULES="$HTTP_MODULES ngx_http_test_module" # 添加源文件 3 NGX_ADDON_SRCS="$NGX

  • nginx ngx_http_realip 的功能以及使用2022-05-17 13:02:22

    网上关于ngx_http_realip 使用介绍的基本都是一个老生长谈的问题了,对于多级代理配置的这个就是一个常用的解决用户真实ip的方法,以下是使用 的一个简单说明 ngx_http_realip 简单说明 ngx_http_realip 是一个获取用户请求真实ip 的一个模块,可以在多代理链路场景下解决我们获取真实

  • Nginx: ngx_http_map_module2022-05-14 20:04:10

      ngx_http_map_module           Module ngx_http_map_module (nginx.org)                 map $http_host $name { hostnames; default 0; ~map\.intrinsic.\w+ 1; *.canto.com 2; aa.intrinsic.io 3; b

  • ngx——共享内存2022-05-13 11:02:59

    0. 简介 共享内存是ngx实现 进程间 全局对象 的方法, 比如 一个抗cc模块,需要记录 cc数据,但 进程间内存隔离,导致 工作进程 只能记录访问自己的 cc数据, 所以需要申请一个共享内存,在共享内存上构造cc数据,多个工作进程互斥操作 该对象。 1 ngx_shm_zone_t 25 typedef struct ngx_shm_z

  • ngx-lua实现高级限流方式一2022-05-07 21:33:56

    基于POST请求体中的某个参数限流 背景 电商平台有活动,活动涉及优惠券的抢券,优惠券系统对大并发支持略差,为了保护整体系统平稳,因此在入口Nginx层对抢券接口做了一层限流。 完整实现如下: lua_shared_dict my_limit_req_store 100m; server { listen 80; server_name test.a

  • Lua 调用正则函数2022-05-06 08:33:27

    1、先来个官方的ngx.re.match location /ngx_re_match { default_type text/html; content_by_lua_block { local m, err = ngx.re.match("/live/4001493201083.m3u8", "[0-9]+") if m then -- m[0] == "4001493201083"

  • openresty 提供的几个新的生命周期阶段指令2022-05-01 20:03:18

    实际上这几个指令很早就有了,只是最近在重新学习openresty 的时候发现的 exit_worker_by_lua_* 在每次nginx worker 进程退出的时候执行,当master 进行禁用的时候,这个钩子会在nginx 进程退出之前执行主要的场景是进行资源释放,以及worker 非正常退出 server_rewrite_by_lua_* 在serve

  • 使用TypeScriptToLua+openresty-lua-types+docker-compose nginx resty.ipmatcher 集成使用2022-05-01 11:35:06

    还是基于现有的扩展开发的,主要是尝试下 主要内容 包含类型定义以及,安装扩展使用 环境准备 详细介绍可以参考 https://www.cnblogs.com/rongfengliang/p/16210941.html 类型定义 resty-ipmatcher.d.ts declare module "resty.ipmatcher" { interface IpMatcher {

  • ngx——内存池管理2022-04-28 16:33:19

    1. 有哪些内存池 init_cycle.pool : 用于初始化时使用,初始化后一定被释放 196 main(int argc, char *const *argv) 253 init_cycle.pool = ngx_create_pool(1024, log); 292 cycle = ngx_init_cycle(&init_cycle); cycle->pool : 伴随整个工作周期,直到 重新加载

  • 可重入函数与信号安全函数2022-04-28 10:31:25

    1. 从 不可重入 到 可重入 可重入指,函数被并发调用。 若函数写 全局变量,则不可重入,改为 堆分配,则可重入。 2. 从 可重入 到 信号安全 信号安全指,函数A执行途中,处理信号,信号处理函数中 又调用 函数A。 若函数使用 全局变量,则信号不安全。若改为 堆分配,也不安全,因为 malloc使用了锁,

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有