webpy lighttpd和flup。 500错误

时间:2012-11-14 20:13:58

标签: fastcgi lighttpd web.py flup

目前我有一个带有flup和webpy的lighttpd服务器。如果您足够快地发出足够的请求(比如反复多次单击链接或执行apache工作台),Lighttpd会抛出500内部服务器错误。在这一点上,它很容易被利用(我可以通过点击几次链接来打破它)。

Lighttpd代码:

fastcgi.server = (
    "/sm" => (
      ( "host" => "127.0.0.1",
        "port" => 7000,
        "check-local" => "disable",
      )
    )
)

我的lighttpd错误记录错误:

2012-11-09 16:17:32: (mod_fastcgi.c.3005) got proc: pid: 0 socket: tcp:127.0.0.1:7000 load: 15 
2012-11-09 16:17:32: (mod_fastcgi.c.2494) unexpected end-of-file (perhaps the fastcgi process died): pid: 0 socket: tcp:127.0.0.1:7000 
2012-11-09 16:17:32: (mod_fastcgi.c.3325) response not received, request sent: 1252 on socket: tcp:127.0.0.1:7000 for /sm , closing connection 
2012-11-09 16:17:32: (mod_fastcgi.c.1515) released proc: pid: 0 socket: tcp:127.0.0.1:7000 load: 14 

这让我觉得lighttpd正在破碎,因为flup没有回应。现在,我可以简单地在问题上抛出更多线程,它就会消失(或者至少使得它更难开发)。 flup服务器代码:

#!/usr/bin/python

from apps.main import app as main_app

# run as fastcgi
from flup.server.fcgi import WSGIServer
params = {
    'multiplexed': False,
    'bindAddress': ('127.0.0.1', 7000),
    'maxThreads': 9,  <---- If I move this up to 20 no more problems
}
server = WSGIServer(main_app.wsgifunc(), **params)
server.run()

我认为这是一个flup问题的另一个原因是因为我可以绕过flup服务器而只是做一个直接向webpy发送请求的代理,我没有问题。现在,如果有一个更优雅的解决方案,我宁愿不仅仅是线程。有谁知道什么可能导致皮瓣断裂?或者我的结论到目前为止是错误的?

0 个答案:

没有答案