nginx配置conf文件误删除,但还在运行
发布网友
发布时间:2023-02-01 13:24
我来回答
共2个回答
热心网友
时间:2024-12-02 14:35
1.获取nginx 过程pid
执行
ps aux | grep nginx
你会失去如下输入,找到master的pid
[root@VM-8-3-centos /]# ps aux | grep nginx root 6958 0.0 0.0 112812 968 pts/0 R+ 09:10 0:00 grep --color=auto nginx root 19193 0.0 0.3 109440 6360 ? Ss Jun08 0:00 nginx: master process nginx root 22326 0.0 0.3 112200 7412 ? S 01:47 0:01 nginx: worker process
如上所示,nginx的次要过程pid为19193
2.查找内存映射
接下来咱们须要查看过程正在应用哪些内存映射
sudo cat /proc/19193/maps | grep heap
[root@VM-8-3-centos /]# sudo cat /proc/19193/maps | grep heap 5581bf774000-5581bf8b7000 rw-p 00000000 00:00 0 [heap] 5581bf8b7000-5581bfa50000 rw-p 00000000 00:00 0 [heap]
能够看到有2处*,咱们只须要关注heap局部。内存位于5581bf774000–5581bf8b7000和5581bf8b7000–5581bfa50000之间。
3.转储堆
而后须要转储堆。确保已gdb装置。应用连贯到过程
sudo gdb -p 19193
你会失去一个(gdb)提醒。当初在这个提醒下应用咱们之前记下的地址,地址前须要加0x
(gdb) mp memory /tmp/nginx-memory 0x5581bf774000 0x5581bf8b7000
4.从转储中获取字符串数据
当初咱们的转储可用/tmp/nginx-memory,当初咱们须要从中获取字符串数据
sudo strings /tmp/nginx-memory > /tmp/nginx-memory.str
5.查找 Nginx 配置
当初有了内存转储。大多数配置都会有http {一行,当初能够测试下/tmp/nginx-memory.str
grep -A 20 "http {" /tmp/nginx-memory.str
[root@VM-8-3-centos /]# grep -A 20 "http {" /tmp/nginx-memory.str http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; gzip on; # gzip gzip_min_length 1k; # gzip 1-10 gzip_comp_level 6; # javascript # mime.types gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; # http header Vary: Accept-Encoding gzip_vary on; #
本人批改下格局之类的,就OK了
6.把/tmp/nginx-memory.str下载到本地
放进编辑器查看,会找到之前的配置,同样也是留神下格局
热心网友
时间:2024-12-02 14:35
那么这种情况下可能是因为Nginx有一个默认的配置文件,它会在没有其他配置文件时使用。
要查看Nginx当前正在使用的配置文件,可以使用nginx -t命令来检查当前正在使用的配置文件。如果你想要重新创建一个新的配置文件,可以复制/etc/nginx/nginx.conf中的内容并更改它来适应你的服务器。