- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的团队尝试更新nginx配置sites-available/mysite.com
时,由于磁盘大小问题,突然间无法保存该文件,而现在该文件为空(大小为0)。有什么方法可以基于当前的nginx conf创建新的配置文件吗?自从文件被编辑以来,nginx服务器尚未重启,因此,它仍然可以正常工作,并且我们没有sites-available/mysite.com
文件的最新备份,因此我更喜欢恢复内存中存在的当前配置。
谢谢你。
最佳答案
首先,在尝试进行此操作之前,请确保现在服务器上有足够的可用空间,并且还需要具有sudo权限。
查找主要的Nginx进程
您需要做的第一件事是找到Nginx的主要过程
$ ps aux | grep nginx
root 3890 0.0 0.1 124972 1424 ? Ss 06:06 0:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data 3891 0.0 0.3 125332 3128 ? S 06:06 0:00 nginx: worker process
3890
pid。
$ sudo cat /proc/3890/maps
55698ed20000-55698ee2e000 r-xp 00000000 fc:00 414469 /usr/sbin/nginx
55698f02e000-55698f030000 r--p 0010e000 fc:00 414469 /usr/sbin/nginx
55698f030000-55698f04c000 rw-p 00110000 fc:00 414469 /usr/sbin/nginx
55698f04c000-55698f06c000 rw-p 00000000 00:00 0
556990d72000-556990dd5000 rw-p 00000000 00:00 0 [heap]
7f4cfa551000-7f4cfa55c000 r-xp 00000000 fc:00 1314482 ....
7f4d01f70000-7f4d01f71000 rw-p 00000000 00:00 0
7ffde6f5e000-7ffde6f7f000 rw-p 00000000 00:00 0 [stack]
7ffde6f9a000-7ffde6f9c000 r--p 00000000 00:00 0 [vvar]
7ffde6f9c000-7ffde6f9e000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
[heap]
部分感兴趣。内存位于
556990d72000-556990dd5000
。
gdb
。使用连接到流程
$ sudo gdb -p 3890
(gdb)
提示。现在在此提示下,使用我们前面提到的地址
(gdb) dump memory /tmp/nginx-memory 0x556990d72000 0x556990dd5000
/tmp/nginx-memory
,现在我们需要从中获取字符串数据
$ sudo strings /tmp/nginx-memory > /tmp/nginx-memory.str
http {
行,现在您可以测试
/tmp/nginx-memory.str
是否相同
$ grep -A 20 "http {" /tmp/nginx-memory.str
http {
# Basic Settings
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# SSL Settings
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
# Logging Settings
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
# Gzip Settings
gzip on;
gzip_disable "msie6";
--
http {
# Basic Settings
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# SSL Settings
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
# Logging Settings
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
# Gzip Settings
gzip on;
gzip_disable "msie6";
关于nginx - 还原当前站点可用文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45852224/
我以这种方式恢复了 merge 提交(功能->开发): git revert -m 1 git push origin develop 已创建新提交 Revert "Merge branch 'fe
我确信我得到了一个很好的答案 my previous question因为我之前从那些发帖的人那里得到了很多关于其他问题的帮助。 但我显然做错了什么,因为当我复制示例代码时,对象检查器向我显示的 My
我现在处于一个非常愚蠢的境地。使用 git-hub for windows 我已经恢复了我最近的两个本地提交,我无法撤消这个(恢复命令)。很多代码都没有了。是否可能恢复还原的提交?我是 git 的新手
我正在使用 TortoiseGit。我想恢复到删除几张图片之前的某个时间点。 我该怎么做,我看到的还原方法是不正确的.... 最佳答案 右键单击您的工作目录并从 TortoiseGit 菜单中选择显示
我们使用 Terraform 在 AWS 中创建所有资源。如果一切按计划进行,那将很方便。但是,我们确实必须考虑出现问题的时间。我们有一个问题是 RDS 实例。它由 Terraform 创建和跟踪。在
跟在后面有什么区别? (右键单击项目文件夹)更新到修订版 XXX (右击日志列表)恢复到这个版本 (右键单击日志列表)还原此修订版的更改 最佳答案 (右键单击项目文件夹)更新到修订版 XXX Your
我不知何故搞砸了我的观点,我想重置它们,但是重置按钮是灰色的。有谁知道会导致这种情况的原因吗? 我希望我有更多的信息,但我真的只知道这些。 最佳答案 转到窗口菜单 => 重置透视图。 编辑: 该选项可
我有一个具有多用户登录功能的应用程序。现在,我为登录功能创建了 redux 存储。如果用户登录,根据其类型,它将重定向到特定的仪表板。如果学生用户登录,他应该只能访问学生仪表板,他不应该能够访问其他仪
我已经恢复了一些更改。需要知道之前恢复的代码中的文件和更改(差异)。 最佳答案 是的,正如 ElpieKay 所说,您可以使用 git log --grep='Revert' 。 还有一个默认消息“
出现错误 ERROR in [at-loader] ./src/app/components/partials/userPartial.tsx:101:33 TS2339: Property 'lev
我不明白为什么主 JS 文件不想从 './actions' 导入 todo 而不带括号? todos from './reducers' 类似的情况,import 没有任何问题。 主 js 文件: i
我像这样以编程方式应用 AngularJS 过滤器: filtered = $filter('number')(value, 2); 这会给我类似 5,000.00 的东西。我需要一种方法来获取过滤后
我正在尝试在我的应用中实现 Redux。所以,我创建了 action、reducer、store 等……现在我必须将状态传递给 reducer 并更改此参数( bool 值)的值。我不知道我做错了什么
我有一个带有如下 DIV 的跨度: Here is my 现在我可以将我的内容设置为跨度,例如: $(.span.foo).text("This removed my inn
我也想将另一个数据库名称下的特定数据库还原到另一台服务器。到目前为止,还不错。 我使用了这个命令: pg_dump -U postgres -F c -O -b -f maindb.dump main
有没有办法回滚上次的提交,放到单独的分支中,以供以后测试?我做了一些我不想完全丢弃的更改,我只是想将它们放在不同的分支中以供进一步测试。 谁能帮我解决这个问题? 最佳答案 是的,您可以实现这一点 -
开发人员正在对两个文件进行小的更改。但是在这次提交期间,他遇到了 merge 冲突,删除了很多东西(可能没有最新的版本)。然后它被推送到共享仓库,其他一些开发人员做了一些其他提交。 现在,我们注意到
git revert 是如何使用的? 这听起来像是一个重复的问题,但当人们问它时,回答通常是,按照 Revert to a commit by a SHA hash in Git? 使用 git re
Cloudflare 已修复其免费开源 CDNJS 中的一个严重漏洞,该漏洞可能影响互联网上 12.7% 的网站。 CDNJS为数百万网站提供超过4000个JavaScript和CSS库,这些库公
为了安全起见,需要经常对数据库作备份,或者还原。对于 MySQL 而言,最方便的方法可能就是用 phpMyAdmin 的导出、导入功能了,但如果你的数据库体积比较大,作为 Web 应用的 phpMy
我是一名优秀的程序员,十分优秀!