linux誤刪nginx.conf文件恢復(fù)方式
當(dāng)你不小心誤刪或者錯(cuò)誤操作導(dǎo)致nginx.conf
文件丟失,而且nginx處于在住運(yùn)行的狀態(tài),在這種情況下我們就可以在內(nèi)存中獲取配置文件。
1.獲取nginx進(jìn)程pid
ps -ef | grep nginx
你會(huì)得到如下輸出,找到master的pid
root 19812 1 0 7月14 ? 00:00:00 nginx: master process /usr/sbin/nginx nginx 19813 19812 0 7月14 ? 00:00:26 nginx: worker process nginx 19814 19812 0 7月14 ? 00:00:33 nginx: worker process nginx 19815 19812 0 7月14 ? 00:01:15 nginx: worker process nginx 19816 19812 0 7月14 ? 00:00:55 nginx: worker process nginx 19817 19812 0 7月14 ? 00:00:04 nginx: cache manager process root 26171 12446 0 12:56 pts/0 00:00:00 grep --color=auto nginx
如上所示,nginx的主要進(jìn)程pid為19812
2.查找內(nèi)存映射
安裝gdb
工具
yum install gdb -y
接下來(lái)我們需要檢查進(jìn)程正在使用哪些內(nèi)存映射
cat /proc/19812/maps | grep heap
[root@loghub-server tmp]# cat /proc/19812/maps | grep heap 55e0e6760000-55e0e69c2000 rw-p 00000000 00:00 0 [heap]
可以看到有2處地方,我們只需要關(guān)注heap部分。內(nèi)存位于55e0e6760000-55e0e69c2000之間。
3.轉(zhuǎn)儲(chǔ)堆
然后需要轉(zhuǎn)儲(chǔ)堆
gdb -p 19812
你會(huì)得到一個(gè)(gdb)提示?,F(xiàn)在在這個(gè)提示下使用我們之前記下的地址,地址前需要加0x
(gdb) dump memory /tmp/nginx-memory 0x55e0e6760000 0x55e0e69c2000
4.從轉(zhuǎn)儲(chǔ)中獲取字符串?dāng)?shù)據(jù)
strings /tmp/nginx-memory > /tmp/nginx-memory.str
5.查找 Nginx 配置
現(xiàn)在有了內(nèi)存轉(zhuǎn)儲(chǔ)。大多數(shù)配置都會(huì)有http {
一行,現(xiàn)在可以測(cè)試下/tmp/nginx-memory.str
grep -A 20 "http {" /tmp/nginx-memory.str
[root@loghub-server tmp]# grep -A 50 "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"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; #proxy_temp_path /etc/nginx/temp_dir; #proxy_cache_path /var/cache/nginx/cache levels=1:2 keys_zone=imgcache:100m inactive=1d max_size=1g; #proxy_cache_path /etc/nginx/cache_dir levels=1:2 keys_zone=imgcache:500m max_size=1g inactive=1d use_temp_path=off; proxy_cache_path /etc/nginx/conf.d/cache levels=1:2 keys_zone=my_zone:100m inactive=3600s max_size=1g;
自己復(fù)制出來(lái)或者修改下格式之類(lèi)的,就可以了。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
CentOS7 LNMP+phpmyadmin環(huán)境搭建 第二篇LNMP環(huán)境搭建教程
這篇文章主要為大家詳細(xì)介紹了CentOS7 LNMP+phpmyadmin環(huán)境搭建,第二篇LNMP環(huán)境搭建教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-0713個(gè)實(shí)用的Apache Rewrite重寫(xiě)規(guī)則
這篇文章主要介紹了13個(gè)實(shí)用的Apache Rewrite重寫(xiě)規(guī)則,需要的朋友可以參考下2014-03-03詳解阿里云Linux啟動(dòng)tomcat并能外網(wǎng)訪問(wèn)
本篇文章主要介紹了詳解阿里云Linux啟動(dòng)tomcat并能外網(wǎng)訪問(wèn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03Ubuntu解決火狐瀏覽器無(wú)法同步書(shū)簽的問(wèn)題【推薦】
最近在ubuntu系統(tǒng)中使用自帶的firefox瀏覽器,發(fā)現(xiàn)有寫(xiě)問(wèn)題,添加書(shū)簽功能無(wú)法使用,下面小編給大家?guī)?lái)了Ubuntu解決火狐瀏覽器無(wú)法同步書(shū)簽的問(wèn)題,感興趣的朋友跟隨腳本之家小編一起看看吧2018-06-06CentOS6.5下Tomcat7 Nginx Redis配置步驟教程詳解
這篇文章主要介紹了CentOS6.5下Tomcat7 Nginx Redis配置步驟,本文給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10Linux中的LUN、磁盤(pán)、LVM和文件系統(tǒng)映射使用
這篇文章主要介紹了Linux中的LUN、磁盤(pán)、LVM和文件系統(tǒng)映射使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02