【问题标题】:To many simultaneously "Get" request results in 500 error对多个同时“获取”请求导致 500 错误
【发布时间】:2019-04-28 09:17:12
【问题描述】:

我使用 apache2 和 nginx 作为 wordpress 站点的代理。我有一个插件,用户可以在其中获取自己的网址并可以下载文件。

问题:

有时 80 多个用户同时请求 URL,这会导致 500 错误。当它的 arround 30-40 请求同时产生 200 个代码时,它似乎可以工作。

有错误的日志文件示例:

IP - - [28/Apr/2019:01:00:31 +0200] "GET /test/test.zip HTTP/1.0" 500 512 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:9.0) Gecko/20100101 Firefox/9.0"

我有一个 8GB VPS 并将 php.ini 内存限制设置为 1024,并且还尝试增加 apache2 配置中的超时限制。我错过了什么设置?

这是 apache2 的配置

<IfModule mpm_prefork_module>
StartServers          8
MinSpareServers       5
MaxSpareServers      20
ServerLimit         400
MaxClients          400
MaxRequestsPerChild 4000

Timeout 60
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 10
ServerSignature Off
ServerTokens Prod

【问题讨论】:

  • 检查您的网络服务器错误日志,看看实际的错误信息是什么。没有它,我们甚至不可能知道从哪里开始。顺便说一句,你为什么同时使用 nginx 和 apache?为什么不直接使用 nginx 来服务站点呢?
  • 添加了日志文件的示例,但没有太多可借鉴的地方,因为它同时适用于 30-40 GET 请求,必须有限制或在某处设置?我不知道 wordpress 和脚本是否可以在没有 htaccess 的情况下工作
  • 如果您正确配置服务器配置,WP 可以与 nginx 一起正常工作。如果你只是用谷歌搜索“nginx config for wordpress”或类似的东西,就会有很多例子。我建议从它开始,因为当您同时收到许多请求时,Apache 的性能不如 nginx。
  • 谢谢!我会检查它并可能迁移。现在有什么设置可以改变吗?
  • 如果不知道实际的错误信息是什么,这里的任何答案都只是猜测。您需要进行更多调试才能找出答案。目前,不幸的是,这个问题过于宽泛和不具体。但是,我建议首先解决 Web 服务器问题(并且只使用 nginx),因为它实际上可能会解决您的问题。如果没有,调试它可能仍然更容易。

标签: php wordpress nginx apache2


【解决方案1】:

@Magnus 是对的。如果没有要跟踪的日志文件,这很可能是一个疯狂的猜测。

我确实意识到了一些可能会有所帮助的东西。如前所述,您正在运行 Nginx 作为 Apache 的代理。因此,与其研究 Apache,不如研究 Nginx。您将能够在以下位置找到 Nginx 代理参数:

/etc/nginx/proxy_params

在文件中,您会发现一些标准代理参数,如下所示:

client_max_body_size 100M; client_body_buffer_size 1m; proxy_intercept_errors on; proxy_buffering on; proxy_buffer_size 128k; proxy_buffers 256 16k; proxy_busy_buffers_size 256k; proxy_temp_file_write_size 256k; proxy_max_temp_file_size 0; proxy_read_timeout 300;

尝试增加设置中的限制。您将能够从Nginx documentation 本身找到它们各自的含义。

希望对你有帮助!

*记得重新加载/重启服务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-10
    • 1970-01-01
    • 2020-08-20
    • 2020-03-04
    • 1970-01-01
    • 2018-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多