nginx.conf被删除后如何通过内存导出nginx.conf文件

发布时间 2023-09-28 13:42:26作者: mvpbang

问题

上午同事反馈,nginx下conf/nginx.conf 文件是空的.
image

解决

m1: 通过nginx内存转储出来nginx.conf

01、查看nginx master进程
image

02、查看内存映射是否存在heap类型
cat /proc/x/maps|grep heap (空空如也)
image

03、如果存在heap类型则gdb转储堆文件
yum install -y gdb
gdb --pid x
dump memory /tmp/ngx_heap 0x~ 0x~
image

0x 十六进制寻址,发现使用libjemalloc替代默认libc没有heap

04、从转储读取字符串
strings /tmp/ngx_heap
strings -C 50 "http" /tmp/ngx_heap

m2: 是否有打开的nginx.conf转储文件

01、根据nginx关联进程发现,有个用户打开nginx.conf

02、分析内存映射发现heap文件,从哪儿转储nginx.conf文件

也是可以通过登陆IP,从而找到登陆的同事

image