我今天也遇到了这个问题,系统工程师告诉我这是代码中的错误。但由于某种原因,我无法相信。于是我开始了我的调查:
- DNS 正确解析(在客户端使用 nslookup 或 dig)
- 浏览器找不到给出“连接已重置”错误的页面,因此服务器上的某些内容不正确。
- 我在浏览器中打开了 Mozilla Network Inspector,发现了一些值得注意的事情:当我尝试打开网站时,我向服务器发送了一个请求,但服务器没有回复我的浏览器。所以这证实了它确实与服务器有关。否则我至少会得到 200/403/404/501 HTTP 响应。
- 我重命名了 .htaccess 和 Wordpress 的所有插件文件夹,这样 Wordpress 就无法再加载它们了。没有结果。
- 我检查了网站上的文件是否可以通过直接请求访问,确实如此。所以我创建了一个 phpinfo.php 作为内容
<?php phpinfo(); ?>
并查找了 memory_limit 和 post_size 限制。将这些设置为默认的 32M/64M 可能会导致此类问题。它设置得非常高(512MB)。所以这也不是原因。
经过一段时间的搜索,我的脑海中突然出现了一个问题:当您找不到原因的逻辑原因时,只需重新启动服务并重试即可。可能服务部分崩溃并且没有被某些错误机制捕获。就像 Microsoft Windows 一样,当您遇到硬件或新安装的软件问题时,您必须定期重新启动。
所以我要求工程师重新启动 Apache / httpd 守护进程,你怎么看?一切都恢复正常了。就像真的什么都没发生一样。
以 root 身份重新启动 HTTP 守护程序的可能命令:
/etc/init.d/apache2 restart
/etc/init.d/httpd restart
/etc/init.d/apache restart
或通过:
service apache2 restart
service httpd restart
service apache restart
希望这可以帮助一些人!