2010-07-23 16 views
41

Gram w gry z moim własnym serwerem (Apache + Ubuntu) i pythonem. Z tego co widziałem istnieją 3 główne sposoby osiągnięcia tego celu (?):mod_wsgi, mod_python, czy tylko cgi?

  1. Apache skonfigurowane do obsługi .py jako CGI
  2. Apache skonfigurowane do korzystania mod_pythona który jest teraz przestarzała
  3. (?) Apache jest skonfigurowany do używania mod_wsgi

Przypominam sobie, że czytam, że Django woli mod_wsgi, i jestem trochę zainteresowany nauką Django (słyszałem, że ich oficjalny tutorial jest raczej doskonały).

Co to jest "zalecana" konfiguracja? Zakładam, że nie ma już powodu, aby używać mod_python już, ale jakie są różnice między obsługą .py jak cgi i mod_wsgi? Czy można je uruchomić w tandemie (i czy chcesz?), Czy jest to po prostu absurdalny pomysł i powinienem przestać myśleć o takich szalonych rzeczach?

Domyślam się, że po prostu szukam podkładu na Apache + Pythonie (linki są również dobre) - nic, co do tej pory nie spotkało mnie, było strasznie pouczające - głównie chodziło o to, jak to zrobić.

Odpowiedz

30

mod_python jest martwy, więc użycie mod_python prawdopodobnie nie jest dobrym pomysłem na nowe projekty. Osobiście wolę używać mod_wsgi przez CGI (lub FastCGI). Jest on prosty w konfiguracji i znacznie bardziej wydajny.

+13

Odrzucenie z witryny mod_python: "Obecnie mod_python nie jest aktywnie rozwijany.Nie oznacza to, że jest "martwy", jak twierdzili niektórzy. Oznacza to po prostu, że kod i projekt są wystarczająco dojrzałe, kiedy bardzo niewiele jest wymaganych do jego utrzymania. " (http://www.modpython.org/) –

+5

Jest również ponownie aktywnie rozwijany, a nowe wydanie pojawiło się w listopadzie 2013 roku. – nedned

15
  1. Nie używaj CGI. To nieefektywne. Tarła nowy proces dla każdego żądania. Nie dzięki

  2. dont't spędzają dużo czasu z mod_pythonem

  3. Zastosowanie mod_wsgi.

Jeśli chcesz pisać rzeczy podobne do CGI bez frameworka, mimo to użyj mod_wsgi. Standard WSGI (PEP 333) jest niezbędny do tworzenia aplikacji internetowych w łatwy, wymienny, wielokrotnego użytku, plug-and-playable sposób.