Neden LAMBASI hosting ile Python CGI önlemek?

6 Cevap php

Ben yıllardır, PHP kullanarak edilmiştir. Son zamanlarda ben belirten çok sayıda forum iletilerinden rastlamak ettik PHP is outdated, modern programlama dilleri daha kolay olduğunu, daha güvenli, vs vs

Yani, start learning Python karar verdi. . PHP kullanarak alışkınım beri, ben sadece bir htaccess dosyası yükleyerek sayfalarını bina başladı:

addtype text/html py
addhandler cgi-script .py

Sonra, benim örnek sayfaları gibi görünür:

#!/usr/bin/python
print "content-type: text/html\n\n"
print "html tags, more stuff, vb"

Bu çalışıyor. Ama, ben bu CGI isn't the best way to use Python söyledi bir yazı bir açıklama geldi. Tabii ki, bu ne is en iyi yolu söz etmedi.

Why is it that using CGI is not the best way to use Python? What is the alternative?

Bazı totally other way basit bir Python sitesi kurmak var mı? Ben. Htaccess dışında bakıyor ve olmalıdır. Py dosyaları bazı tamamen farklı bir paradigma var mı?

Related

6 Cevap

Klasik CGI hiç bir şey kullanmak için en iyi yol değildir. Klasik CGI sunucu vardır ile spawn a new process for every request.

Python gelince, size birkaç alternatif var:

Neden CGI kullanarak Python kullanmak için en iyi yol değildir ki?

Ben CGI biraz kadar sadık olacaktır. Bu geliştirme ortamları için iyi.

Bu kadar tel ve modül yüklenmesi sorunları hakkında endişelenmenize gerek yok basit. Doğal performans korkunç, ama dev umurumda değil.

Tabii ki gerçekten oldukça doğrudan CGI daha WSGI arayüzüne yazılı olmalıdır. Daha sonra kullanarak CGI aracılığıyla dağıtabilirsiniz:

wsgiref.handlers.CGIHandler().run(application)

ve üretim ortamında tercih ne olursa olsun diğer WSGI sunucu mod_wsgi diğer aracılığıyla dağıtmak için aynı uygulama nesnesini kullanmak nerede hız önemli (ve bunu mümkün olduğunca üretime kadar yakın olmak istiyorum test ortamı).

Gerçekten sadece bir verimlilik şey - CGI ne demek için oldukça ağır olduğunu her istek için tamamen yeni bir işlemi olarak çoğaltılır.

PHP can be run through CGI as well, but mod_php embeds the interpreter within apache. There's a mod_python which does the same job, and mod_wsgi as Yuval says.

Bir sayfa advantages and disadvantages of the various possibilities açıklanır Python belgelerinde vardır.

mod_python

(...) Bu yeni programlar yazarken mod_python kaçınılmalıdır neden nedenleri vardır.

WSGI

The Web Server Gateway Interface or WSGI for short is currently the best possible way to Python web programming. While it is great for programmers writing frameworks, the normal person does not need to get in direct contact with it.

FastCGI and stuff

Bu gün, FastCGI doğrudan asla kullanılmaz.

Kenara diğerleri yapmak önerileri, gerçekten bazı tür bir çerçeve kullanmayı düşünmelisiniz. Sen ve FastCGI, mod_python veya mod_wsgi kullanıyor olmalıdır, ancak karşı doğrudan kod yazmak için onlar gerçekten tasarlanmamış. Ben Aşağıdakilerden birini önerebilir?