Попытка развернуть мое веб-приложение на фляге с помощью lighttpd

Я пытаюсь развернуть свое веб-приложение для колб с помощью lighttpd. Я создал этот hello.fcgi файл

#!/usr/bin/python
from flup.server.fcgi import WSGIServer
from hello import app

if __name__ == '__main__':
    WSGIServer(app).run()

И файл python hello.py

Я добавил эти строки в конце /etc/lighttpd/lighttpd.conf. Я хотел, чтобы это было доступно из http://localhost:7777.

$SERVER["socket"] == ":7777" {
    fastcgi.server = ("/hello.fcgi" =>
        ((
            "socket" => "/tmp/hello-fcgi.sock",
            "bin-path" => "/var/www/html/py/hello.fcgi",
            "check-local" => "disable",
            "max-procs" => 1
        ))
    )

    alias.url = (
        "/static/" => "/var/www/html/py/static"
    )

    url.rewrite-once = (
        "^(/static($|/.*))$" => "$1",
        "^(/.*)$" => "/hello.fcgi$1"
    )
}

Я также включил включение модулей FastCGI, alias и rewrite. Все файлы моего веб-приложения находятся в папке /var/www/html/py/, включая hello.py, hello.fcgi и папку «static».

Затем я перезапустил lighttpd и попытался посетить http://localhost:7777, но мой браузер говорит: «Этот сайт недоступен».

Что здесь не так и как я могу это исправить?

1
задан 18 April 2019 в 10:54

1 ответ

Знаю, что это поздно, но столкнулся с этим при поиске другой проблемы и решил, что опубликую здесь исправление, которое задокументировано в документации Python Flask для Lighttpd.

#!/usr/bin/env python3
from flup.server.fcgi import WSGIServer
from hello import app


class ScriptNameStripper(object):
    def __init__(self, app):
        self.app = app

    def __call__(self, environ, start_response):
        environ['SCRIPT_NAME'] = ''
        return self.app(environ, start_response)


app = ScriptNameStripper(app)

if __name__ == '__main__':
    WSGIServer(app).run()
0
ответ дан 11 December 2019 в 18:32

Другие вопросы по тегам:

Похожие вопросы: