
Tengo un servidor lighttpd y quiero ejecutar una aplicación Python usando fastcgi. Seguí elejemplo en la página de inicio de lighty, pero parece que no puedo ejecutar el script de Python con facilidad. Esta es mi sección fastcgi en lighttpd.conf:
fastcgi.server = (
".py" =>
(
"python-fcgi" =>
(
"socket" => "/tmp/fastcgi.python.socket",
"bin-path" => "/usr/bin/login_flask/fcgitest.py",
"check-local" => "disable",
"max-procs" => 1,
)
))
Este es el contenido de fcgitest.py:
#!/usr/bin/python3
def myapp(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return ['Hello World!\n']
if __name__ == '__main__':
from flup.server.fcgi import WSGIServer
WSGIServer(myapp, bindAddress="/tmp/fastcgi.python.socket").run()
Cuando reinicio Lighty con esta configuración, puedo ver que se inicia el proceso de Python y no recibo ningún error de Lighty. Sin embargo, cuando voy ahttps://localhost:444/test.pysimplemente sigue cargando para siempre. No hay nada escrito en access.log o error.log. Si alguien pudiera darme una pista sobre cómo investigar esto, se lo agradecería.
EDITAR: habilité fastcgi.debug y esto se escribe en el registro de errores cuando voy a la URL mencionada anteriormente. Todavía sigue cargando para siempre:
2019-07-26 11:53:26: (gw_backend.c.914) gw - found a host 0
2019-07-26 11:53:26: (gw_backend.c.227) got proc: pid: 2628 socket: unix:/tmp/fastcgi.python.socket-0 load: 1
Respuesta1
Según tu fcgitest.py
,
if __name__ == '__main__':
from flup.server.fcgi import WSGIServer
WSGIServer(myapp, bindAddress="/tmp/fastcgi.python.socket").run()
Ninguno de los ejemplos incluye el bindAddress
parámetro que tienes aquí.
Pruebe esto en su lugar,
if __name__ == '__main__':
from flup.server.fcgi import WSGIServer
WSGIServer(myapp).run()