2012-03-10 9 views
7

Traté de acentuar mi servidor un poco, y sucedió algo extraño. Estoy usando mod_wsgi, con guión básico enchufado:mod_wsgi falla bajo presión

import socket 

def application(environ, start_response): 
    status = '200 OK' 
    output = 'Hello World!' 
    response_headers = [('Content-type', 'text/plain'), 
        ('Content-Length', str(len(output)))] 
    start_response(status, response_headers) 
    return [output] 

He intentado hacer hincapié en que con un poco de simple "golpear todo lo que pueda":

#!/bin/zsh 

for i in {1..50} 
do 
wget http://$this_site/ & 
done 

Y extraño sucedió - wget arrojado at me informa sobre el error 500 en el servidor.

cuando llegué registros de Apache, esto es lo que he encontrado

[Sat Mar 10 21:46:18 2012] [error] [client 95.49.81.25] mod_wsgi (pid=23632): Target WSGI script '/home/tricky/www/run.py' cannot be loaded as Python module. 
[Sat Mar 10 21:46:18 2012] [error] [client 95.49.81.25] mod_wsgi (pid=23632): Exception occurred processing WSGI script '/home/tricky/www/run.py'. 
[Sat Mar 10 21:46:18 2012] [error] [client 95.49.81.25] Traceback (most recent call last): 
[Sat Mar 10 21:46:18 2012] [error] [client 95.49.81.25] File "/home/tricky/www/run.py", line 1, in <module> 
[Sat Mar 10 21:46:18 2012] [error] [client 95.49.81.25]  import web 
[Sat Mar 10 21:46:18 2012] [error] [client 95.49.81.25] File "/usr/local/lib/python2.7/site-packages/web.py-0.36-py2.7.egg/web/__init__.py", line 14, in <module> 
[Sat Mar 10 21:46:18 2012] [error] [client 95.49.81.25]  import utils, db, net, wsgi, http, webapi, httpserver, debugerror 
[Sat Mar 10 21:46:18 2012] [error] [client 95.49.81.25] File "/usr/local/lib/python2.7/site-packages/web.py-0.36-py2.7.egg/web/wsgi.py", line 8, in <module> 
[Sat Mar 10 21:46:18 2012] [error] [client 95.49.81.25]  import http 
[Sat Mar 10 21:46:18 2012] [error] [client 95.49.81.25] ImportError: No module named http 

¿Cómo es esto posible? ¿Y por qué está sucediendo?

+1

El error indica que su script wswgi importa web, y el módulo web depende del módulo http, que no se encuentra en el sistema –

+0

Y esto no ocurre en "normal" ¿carga? –

+0

La parte difícil es que, bajo carga normal, todo funciona bien ... – Bugari

Respuesta

0

Bien, encontré la solución - apache2 tenía un raro estado de carrera después de jugar con su configuración. Después de service apache2 restart todo volvió a la normalidad :)

Cuestiones relacionadas