Python 3.1, FCGI

TomasCZ

Python 3.1, FCGI
« kdy: 17. 05. 2010, 17:49:22 »
Zdravím,

programuju v PHP a poslední dobou si hraji s Pythonem 3.1. Vypada to nadherne. Chtel bych se zeptat jak se da pouzit Python pro web aby byl rychly a jeho kod se podobal jeho jednoduchosti viz.:

seznam = ["Julca", "Helca"]
for vypis in seznam:
   print(vypis)

Dival jsem se na mod_python a wsgi a ani jedno se me moc nezamlouva. Nekde jsem cetl ze FCGI je lepsi a rychlejsi varianta CGI pro Python. Je tomu tak ? Chtel bych Python pouzit pro velke s velkou navstevnosti (5000-50000UIP denne).


Jakub L.

Re: Python 3.1, FCGI
« Odpověď #1 kdy: 17. 05. 2010, 20:46:58 »
Obecně se doporučuje používat WSGI, neboť má nejvyšší výkonnost a slušnou míru bezpečnosti
http://code.google.com/p/modwsgi/wiki/PerformanceEstimates

FCGI by do té tabulky přišlo někam mezi CGI a mod_python, asi blíže k mod_python, nicméně zabezpečení opět snižuje výkonnost...



TomasCZ

Re: Python 3.1, FCGI
« Odpověď #2 kdy: 17. 05. 2010, 21:43:55 »
Jj to jsem zkousel a rozjel jsem to na apache 2.2. Jenze

def application(environ, start_response):
    status = '200 OK'
    output = 'Hello World!'

    response_headers = [('Content-type', 'text/plain'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)

    return [output]

me ani trochu nepripomina pythona. Jak se v tomto da treba udelat podmina x je vetsi nez 2. :/

Jakub L.

Re: Python 3.1, FCGI
« Odpověď #3 kdy: 18. 05. 2010, 00:06:10 »
On se na to většinou napíše nějaký wrapper, takže se člověk přímo s WSGI moc nepotká, jen místo printu píše něco jiného... Ale upřímně, já nejsem Python-WSGI programátor, jen admin, který už tohle někam cpal...

Messa

Re: Python 3.1, FCGI
« Odpověď #4 kdy: 02. 06. 2010, 17:32:13 »
Ahoj, zkus si přečíst tohle, jsou to odpovědi na v podstatě stejnou otázku:

http://groups.google.com/group/cz.comp.lang.python/browse_thread/thread/602ef0d11587abe0

FastCGI je dobré, a nejlepší cesta jak udělat FastCGI webovou aplikaci v Pythonu vede přes... WSGI :) Jinak FastCGI je samozřejmě o hodně lepší přístup než CGI - asi nejdůležitější je, že aplikace zůstává v paměti, nemusí se znovu spouštět při každém požadavku. Mod_WSGI v daemon módu je vlastně designově to samé jako FastCGI.

Jen se obávám, že v Pythonu 3 bude s WSGI trochu problém, specifikace WSGI totiž pro 3.x ještě není dokončena. Nějak použitelné to ale je, třeba s mod_wsgi. Přesně nevím, já osobně zůstávám u Pythonu 2.x, ono je to podle mě celkem jedno.

Čistě ve WSGI se ale obvykle nepracuje. Zkus se podívat na nějaké Pythonové frameworky (Django, Turbogears, Pylons), popř. na lehčí knihovny (WebOb, Werkzeug, web.py, CherryPy, ...).


patrik

Re: Python 3.1, FCGI
« Odpověď #5 kdy: 06. 06. 2010, 11:50:46 »
Plánuješ-li používat Python pro weby, určitě se podívej na framework Django