【发布时间】: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