Configure o Lighttpd para executar o script python usando fastcgi

Configure o Lighttpd para executar o script python usando fastcgi

Eu tenho um servidor lighttpd e desejo executar um aplicativo python usando fastcgi. Eu segui oexemplo na página inicial do lighty, mas não consigo ficar leve para executar o script python. Esta é minha seção fastcgi em 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 é o conteúdo 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()

Quando reinicio o lighty com esta configuração, posso ver que o processo python foi iniciado e não recebo nenhum erro do lighty. Porém, quando vou parahttps://localhost:444/test.pyele continua carregando para sempre. Nada está escrito em access.log ou error.log. Se alguém pudesse me dar uma dica sobre como investigar isso, ficaria grato.

EDIT: habilitei fastcgi.debug e isso é gravado no log de erros quando vou para o URL mencionado acima. Ele ainda continua carregando para sempre:

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 

Responder1

Por seu fcgitest.py,

if __name__ == '__main__':
    from flup.server.fcgi import WSGIServer
    WSGIServer(myapp, bindAddress="/tmp/fastcgi.python.socket").run()

Nenhum dos exemplos inclui o bindAddressparâmetro que você tem aqui.

Em vez disso, tente isso,


if __name__ == '__main__':
    from flup.server.fcgi import WSGIServer
    WSGIServer(myapp).run()

informação relacionada