对于旧的已删除文件,我一直在打开()失败(2:没有这样的文件或目录)

时间:2016-09-17 06:33:20

标签: php wordpress nginx

我面临着一个特殊的问题。 当我将Wordpress博客从一台服务器迁移到另一台服务器时,数据库副本很好,但媒体在10%的时间内都失败了。由于那些图像是3岁,我继续前进。新网站工作正常,直到我意识到以下情况:

我查看了nginx错误日志/var/log/nginx/error.log,发现了很多内容:

open() "/var/www/wp-content/uploads/2013/12/thumbnail-new.jpg" failed (2: No such file or directory), client: 127.0.0.1

现在这个文件thumbnail-new.jpg实际上不可用,不再需要它了。那么谁试图访问它?搜索机器人?谷歌?

我不确定。

但问题是由于这个错误,我的php-fpm进程消耗了大量的CPU,因为大多数进程都在等待一个不可用的文件。

我该怎么办?请指导。

更新1

我查看了New Relic,所有这些请求都来自搜索机器人,谷歌机器人,Bing机器人等。

enter image description here

它占用了我所有的CPU enter image description here

我该怎么办?

1 个答案:

答案 0 :(得分:0)

这绝对正常,并且可能由于迁移到其他/更新的应用程序而发生。

你能否从访问日志中分享整行,404错误?它有引用链接和实际网址。

我建议为这些网址设置301重定向,在nginx将其传递给上游之前处理它们。

PS:关于cpu用法:nginx shell使用静态文件提供请求,而不是将其传递给php-fpm(通常)。你能否分享一下负责静态文件服务的规则?它会给出全貌。