浏览网络时发生的最常见错误之一是“ 500 Internal Server Error”。 此消息表明Web服务器遇到技术问题。

本文介绍了500错误的含义,为何获得HTTP 500代码以及如何解决这些错误。

什么是HTTP 500错误

每次打开网页时,浏览器都会向托管站点的服务器发送请求,服务器将返回请求的数据和响应代码。 HTTP响应状态代码指示请求是否成功。

响应分为五类。 500到599范围内的代码表示服务器错误。

HTTP状态代码500是通用错误响应,当没有其他错误代码合适时,服务器将返回该错误响应。 造成此问题的原因有很多,导致服务器无法完成请求。

如果您访问的页面抛出500错误,则您无能为力,因为该错误不是由您的浏览器或Internet连接引起的。 即使错误发生在服务器端,您也可以尝试以下一些选项:

  • 重新加载您的浏览器或尝试使用另一个浏览器。 刷新浏览器时页面加载的机会很少,但是仍然值得尝试。
  • 尝试清除浏览器缓存。 如果显示500错误的页面被缓存,则清除缓存后,浏览器将请求该页面的新版本。
  • 稍后再回来。 网站管理员可能会在此期间解决服务器问题。
  • 请与网站所有者联系。 最后剩下的选择是与负责维护网站的人取得联系。

排除500错误

许多不同的原因可能会导致500内部服务器错误。 这是最常见的:

  • 权限问题。当网络服务器无权访问站点文件时,它可能会引发HTTP 500错误。解决此问题的方法是递归更改网站文件的权限
  • .htaccess语法错误。如果将Apache用作Web服务器,则很可能在站点根目录中有一个.htaccess文件。无效的语法或不存在的模块指令可能导致500错误。
  • 与数据库有关的问题。 HTTP错误500也可能由错误的数据库服务器信息或损坏的数据库引起。
  • 带有插件和主题的问题。如果您运行的是WordPress或类似的CMS,则在更新或修改插件/主题后可能会出现500错误。
  • 服务器问题。文件系统损坏或内存耗尽可能导致500错误。
  • Node.js模块。如果您有基于Node.js的站点,则更新模块可能会导致500内部服务器错误。
  • 站点被破解。通常,注入到您的网站中的恶意代码会导致500错误。
  • 不兼容的模块。加载不兼容的PHP或Apache模块会引发500错误。
  • 外部资源超时。如果服务器与外部服务进行通信并且如果这些服务无法访问,则服务器将显示500错误消息。

确定为什么发生500错误的最佳方法是检查服务器日志文件。 日志文件的位置取决于您的Linux发行版和Web服务器。 Apache和Nginx的最常见位置如下:

/var/log/apache2/error.log
/var/log/httpd/error_log
/var/log/nginx/error_log

如果您的应用程序基于Node.js构建,请检查Node.js日志。

通常,服务器日志包含有关错误的详细信息,可帮助您识别和修复错误。

结论

“ 500 Internal Server Error”是一个常规的HTTP状态代码,表示托管您正在访问的网站的网络服务器出了点问题。

如果您有任何问题或反馈,请随时发表评论。