自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

linux_map的博客

巩固加深,相互学习

  • 博客(25)
  • 收藏
  • 关注

原创 nginx map指令详解 --- 源码剖析

nginx map指令源码分析

2024-03-23 16:20:32 397

原创 nginx 变量机制(二)--脚本引擎

nginx变量机制 nginx set指令详解

2024-03-04 21:19:41 709

原创 nginx配置内存分布及结构图

nginx配置解析 nginx配置驱动 nginx配置回调流程

2024-02-28 20:56:26 207

转载 Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.212.el6_10.3.x86_64

在使用gdb调试时出现Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.212.el6_10.3.x86_64提示。

2023-11-06 11:11:40 120

原创 nginx proxy_cache 缓存不住

最近在使用proxy_cache的时候发现一个缓存不住的问题,比较隐蔽,现在抛出来,看看大家有遇到相同的情况没。响应头中包含Expires 和 Cache-Control两个头,但是Expires是一个过期的时间(比当前时间小)。RFC中规定 cache-control:max-age的优先级高于Expires,看起来没有问题,理论上没有问题,但是nginx处理这块的代码有点问题。会导致资源不缓存。

2022-06-02 11:50:10 1021

原创 nginx分片模块流程分析--分片模块bug

nginx 分片模块 子请求处理流程

2022-05-31 23:31:16 693

原创 XDP-syncookie实现方式

XDP程序 syncookie下沉到网卡驱动

2022-04-03 20:07:21 1725

原创 让你的curl支持http2

1安装nghttp2源码位置:https://github.com/nghttp2/nghttp2.git编译步骤:$ autoreconf -i$ automake$ autoconf$ ./configure$ make$ make install在目录/etc/ld.so.conf添加动态库touch /etc/ld.so.conf.d/nghttp2.conf 创建该文件/usr/local/lib 添加路径更新配置文件,执行ldconfig* py...

2021-06-30 17:21:50 429

原创 Xcode 编译不同环境

大家好,最近使用xcode发现可以使用如下的方式,来实现不同环境的编译方式 通过图一可以到图二,在图二的左侧可以看到有不同的执行阶段例如在运行的阶段,我可以选择Release版本 Debug版本等,对应的代码中如下显示========================================通过上述的方式可以实现最简单的不同环境使用不同域名的功能!...

2021-03-07 21:34:30 281

原创 NGINX reload过程

大家好,相信大家对nginx reload过程已经很了解了,今天在对该过程做一个分析。带着如下的问题去看1.全局数组ngx_process_t ngx_processes[NGX_MAX_PROCESSES];的含义2.reload过程中都发生的哪些事情3.监听端口的变化过程4.共享内存及文件的变化=================== ngx_proesses数组到底是做什么用的呢?============它会保存当前所有子进程的相关数据信息,包括子进程的pid...

2021-03-07 21:21:59 5753

原创 NGINX 各阶段内存布局

之前对于NGINX 各个PHASE阶段执行比较疑惑,上周梳理了一下构成图,通过这张图在去读源码,会事半功倍!在看图之前在啰嗦几句自己理解的代码配置解析流程:所有的模块在解析之后,会调用postconfiguration阶段,将所有的回调注册到数组中,最后在ngx_http_block函数的最后将这些回调函数进行拼接,如下图所示!注:红色数字代表回调函数会有多个,绿色数字代表只有一个回调...

2020-12-21 10:28:13 89

原创 nginx 变量机制--脚本引擎

在nginx中变量引擎机制随处可见,今天来分析一下这个机制。拿一个比较容易理解的指令set进行分析。简单模式:set $name "HELLONGX";对于$name的解析,就是把name作为变量加入到全局的变量表中,这个比较容易理解,今天暂不做分析。主要分析这个“HELLONGX”是如何应用的。在配置解析阶段调用如下函数:if (ngx_http_rewrite_value(cf, lcf, &value[2]) != NGX_CONF_OK) { return...

2020-11-23 19:45:48 258

原创 nginx location 代码详解

一、location配置解析nginx中location的配置示例:server { listen 9999; location /a1 { return 200 $uri; } location /aa { return 200 $uri; } location /aac { return 200 $uri; } location /aad { re

2020-10-25 18:32:38 658

原创 nginx 进程间通信

nginx 进程间通信--- channel方式主要实现思路:通过socketpair创建出一对双通道的套接字并通过fork的方式实现父子进程间的通信解释一下上图:第一次fork的时候,图中的红色、绿色、紫色部分并没有,是后来通过sendmsg的方式获取到的。那么第一次fork之前做了什么呢?很简单, 通过socketpair创建一对套接字并放到全局数据中,在fork后 父子进程都会有全局数组中的这对套接字,然后子进程将channel[0]关闭了并将channle[1]设置为可读...

2020-09-29 11:31:40 250

原创 COAP详解

COAP协议学习1分析工具网络包分析利器:wiresharkCOAP协议客户端、服务端:wakaama 源码地址辅助编译工具cmake3:由于wakaama对cmake有版本要求 源码地址** 文章后附上wakaama、cmake3编译、使用方法及安装步骤等2COAP协议介绍Coap(Constrained Application Protocol)是一种在物联网世界的类we...

2020-04-13 11:33:27 2492

原创 emqx v3.2.0 编译流程

emqx v3.2.0 编译流程获取emqx v3.2.0源码git clone -b v3.2.0 https://github.com/emqx/emqx-rel.git编译命令cd emqx-rel; make到底make如果执行,然后又调用哪个命令进行项目编译的呢?下面一步步进行揭秘:makemake基本语法:目标:依赖1 依赖2 ……命令emqx Makefile文件...

2019-10-11 18:50:26 820

原创 erlang application 流程分析

一直疑惑erlang中的application是怎么启动应用程序的,最近看了一下源码了解了一些大概流程,和大家做一个分享首先erl在启动的时候,会实现启动application_controller程序,可以在erlang启动的时候指定 -init_debug参数,会看到{start,application_controller}这个应用程序启动了启动的参数详见erl成功启动后,你的应用...

2019-02-19 11:16:40 481

原创 erlang relx 用法初体验

erlang relx 用法relx作为erlang的一个编译器,网上介绍的比较少,在看EMQ2.X版本代码时候涉及到relx,故写一下自己的分析源码: https://github.com/erlware/relx用法介绍:介绍一下在EMQ中用到的参数,及一些内部隐含逻辑-c:指定要加载的配置文件relx.config-o:指定输出后的配置文件位置。默认./当前目录...

2019-02-15 17:38:13 1265

原创 supervisorstart_link /start_child 启动流程

supervisor start_link 流程分析SupFlags参数介绍 eg: {one_for_one, 10, 100}strategy 主进程对多有进程的重启策略one_for_one:one_for_all:rest_for_one:simple_one_for_one指定这种策略,不会立刻启动子进程,将所有数据保存到record中,等再次调用start_chi...

2019-02-14 15:48:37 2039

原创 gen_server info 流程分析

2019-02-13 20:29:08 244

原创 gen_server cast 流程分析

2019-02-13 20:11:30 474

原创 gen_server call流程分析

gen_server call 流程分析关注your_module handler_call的返回值:{reply, Reply, NState} 表示正常,给gen进程发通知,并继续循环接收数据,无超时时间{reply, Reply, NState, Timeout} 表示正常,给gen进程发通知,并继续循环接收数据,超时时间为Timeout{noreply, Reply, NSta...

2019-02-13 19:14:32 998

原创 erlang gen_server机制分析 -- start_link

gen_server start/start_link流程分析最新在学习erlang代码,发现gen_server框架的强大之处,今天画了一下start_link的流程图,虽然在写模块的时候,很简单的调用了一个gen_server:start_link就结束了,但是不明白具体为什么这样调用,今天看了一下源码就有点理解了。如果在启动的时候不指定hibernate参数的话,创建出来的进程...

2019-02-13 17:19:14 1360

原创 openresty-mysql-连接池

openresty mysql 连接池这两天压测公司的一个小项目,感觉并发能力很差,想给做一下提升。最要是优化数据库的操作。这个小项目的架构为 前端LVS做负载 + openresty-lua做业务处理 + mysql做数据保存及查询等,其他组件就暂时不一一罗列了。压测工具apache 自带的ab打量工具。安装方法:yum -y install httpd-tools测试平台linux...

2019-02-12 18:04:16 2009

原创 EMQ-esock启动流程

graph TBst(esockd:open) --> sup(esockd_sup:start_listener)sup -- 启动方式: supervisor:start_child --> lis_sup(esockd_listener_sup:start_link)sup -- 启动参数: supervisor/transient/infinity --> lis_...

2019-02-12 17:05:38 289

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除