Pylons pod serwerem cherokee
14 July 2008
Comments
Pylons i Cherokee z wykorzystaniem SCGI
Celem będzie skonfigurowanie cherokee do obsługiwania projektu pylons za pomocą protokołu SCGI- Do połączeń FastCGI/SCGI zainstaluj pakiet flup:
easy_install flup
- Jeżeli nie masz zainstalowanego cherokee to zrób to teraz. Zwróć uwagę że obsługa protokołów SCGI/FastCGI może być włączona/wyłączona przy konfiguracji/kompilacji. By jawnie zadeklarować obsługę obu protokołów wystarczy polecenie:
./configure --enable-scgi --enable-fcgi
- W przypadku gentoo:
USE="fastcgi scgi" emerge cherokee
- W /etc/cherokee znajdują się pliki konfiguracyjne serwera. Edytuj /etc/cherokee/sites-enabled/default (jeżeli nie ma to utwórz symlink z default z sites-available).- Znajdź:
DocumentRoot /var/www/localhost/htdocs
- Zamień na ścieżkę do katalogu z projektem pylons, np. /home/user/pylons/- Znajdź:
UserDir public_html { Directory / { Handler common }
UserDir public_html { Directory / { Handler scgi { Server localhost:8080 } }
- Edytuj pliki *ini swojego projektu i zmień use w [server:main]:
[server:main] use = egg:PasteScript#flup_scgi_thread host = localhost port = 8080
paster serve --reload plik.ini
- Uruchom serwer Cherokee. W zależności od dystrybucji będzie to:
/etc/cośtam/cherokee start /etc/init.d/cherokee start (gentoo) /etc/rc.d/cherokee start (arch)
Jeżeli korzystasz z Pylons <= 0.9.2 to pojawi się pewien błąd Pylons
W instalacji pylons (/usr/lib/python/site-packages/....) znajdź plik wsgiapp.py a w nim:
W instalacji pylons (/usr/lib/python/site-packages/....) znajdź plik wsgiapp.py a w nim:
if '_method' in environ['QUERY_STRING'] and req.GET.has_key('_method'):
Zamień na:
if req.GET.has_key('_method'):
Zrobione :) Szczegóły i stan błędu można sprawdzić tutaj
Porządkowanie cherokee
Możesz usunąć zbędne wpisy (np. odnoszące się dp PHP, /cgi-bin itp.).
RkBlog
Comment article