Přepsat problém s konfigurací lighttpd s rámcem baňka Python

hlasů
2

Jsem běžet a vyvinula svůj Flask aplikace bez incidentu s využitím jeho vestavěný server. Je dobře fungoval a byl opravdu hladký a zábavný. Bohužel, Lighttpd je, jako vždy, bolest zavést. Já pokynů tak přesně, jak to půjde, ale bohužel moje aplikace stále nefunguje ven.

Tady je moje konfigurace tak daleko:

server.modules   += ( mod_fastcgi )
server.modules   += ( mod_rewrite )

fastcgi.server = (/bioinfo/main.fcgi =>
    ((
        socket => /tmp/bioinfo-fcgi.sock,
        bin-path => /var/www/bioinfo/main.fcgi,
        check-local => disable,
        max-procs => 1
    ))
)
fastcgi.debug = 1

url.rewrite-once = (
    ^/bioinfo/static/(.*)$ => /bioinfo/static/$1,
    ^/bioinfo/(.*)$ => /bioinfo/main.fcgi/$1
)

# in: /etc/lighttpd/conf-available/10-fastcgi.conf

To funguje v tom, že zobrazuje na hlavní stránku, ale ne všechny následné stránky.

Mám několik app.route manipulátory v mém baňky aplikaci, kterou jsem přístup pomocí GET nebo POST za použití nějaké XHR v klientovi.

Také tady je moje .fcgi souboru, jen aby se ujistil, že nemám žádné viditelné chyby zde:

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

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

Jestli někdo může identifikovat problém, pohody, AJAX nepracuje s URI aplikace (s největší pravděpodobností proto, že moje přepisovací pravidla jsou blbě), bych ve skutečnosti ocenit ono. Díky předem, lidé!

Položena 16/05/2011 v 23:18
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
0

Musíte chdir na adresáři aplikace je spuštěna ručně.

Odpovězeno 17/05/2011 v 00:38
zdroj uživatelem

hlasů
0

Vím, že tato odpověď pochází z výrazně v budoucnu, ale jsem narazil na podobném problému a zjistili, že oprava pro mě bylo, aby se ujistil, že jsem použití url_forv mých šablon. Doufáme, že máš to přišel!

Odpovězeno 02/12/2015 v 07:44
zdroj uživatelem

hlasů
0

Měl jsem stejný problém. Pro mne byl roztok přidat to v souboru fcgi, těsně před hlavní funkce:

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)

Ujistěte se, že vymazat mezipaměť prohlížeče při testování.

Odpovězeno 29/07/2016 v 15:22
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more