RkBlog

Hardware, programming and astronomy tutorials and reviews.

Pylons pod serwerem cherokee

Konfiguracja serwera cherokee dla frameworka pylons.

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
    }
- Zamień na:
UserDir public_html {
    Directory / {
       Handler scgi
        {
        Server localhost:8080
        }
    }
- Gdzie localhost:8080 to host i port, na którym będzie działał serwer Paste/SCGI obsługujący pylons.
- Edytuj pliki *ini swojego projektu i zmień use w [server:main]:
[server:main]
use = egg:PasteScript#flup_scgi_thread
host = localhost
port = 8080
- Uruchom serwer Paste:
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)
- Otwórz w przeglądarce adres http://localhost/ - powinieneś zobaczyć stwoją stronę działającą ....bez żadnych problemów....
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:
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

14 July 2008;

Comment article