
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 bindAddress
parâmetro que você tem aqui.
Em vez disso, tente isso,
if __name__ == '__main__':
from flup.server.fcgi import WSGIServer
WSGIServer(myapp).run()