Hosting Django i Pylons na itl.pl
14 July 2008
Comments
Firma Intertele S.A świadczy hosting pod marką ITL oferując serwery wirtualne i inne usługi hostingowe. Podstawowe funkcjonalności to:
nieograniczona ilość domen, obsługa skryptów PHP4/5, Perl, Python, FastCGI, MySQL 4/5, PostgreSQL, cron, shell, własna subdomena ITL.pl, zarządzanie strefami DNS hostowanych domen, dostęp do logów serwera WWW, rozbudowane statystyki odwiedzalności, profesjonalne listy dyskusyjne
Obsługa skryptów Pythona (czy perla) odbywa się poprzez mod_fcgid Apache. Aplikacje Pylons czy Django współpracują z tym modułem i bez problemów można hostować projekty napisane w tych frameworkach na serwerach itl.pl.[toc]
Wprowadzenie
Gdy dostaniemy już wszystkie dane do naszego serwera powinniśmy wejść do panelu admina zarządzającego serwerami wirtualnymi i aktywować konto shell (dla zestawów Active i Buisness) - zakładka Konto SHELL. W przypadku problemów z uruchomieniem aplikacji pomocne mogą być Logi serwera WWW - w logach błędów możemy znaleźć informacje o problemie.
Django
Wejdź na serwer poprzez ssh (konto shell) i przejdź do katalogu htdocs i stwórz plik django.fcgi o kodzie:#!/usr/bin/python
import sys, os
# Add a custom Python path.
sys.path.insert(0, "/www/virtual/DOMENA.itl.pl/")
# Set the DJANGO_SETTINGS_MODULE environment variable.
os.environ['DJANGO_SETTINGS_MODULE'] = "NAZWA_PROJEKTU.settings"
from django.core.servers.fastcgi import runfastcgi
runfastcgi(["method=threaded"])
chmod a+x django.fcgi
W katalogu htdocs dodaj plik .htaccess:
AddHandler fcgid-script .fcgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /django.fcgi/$1 [QSA,L]
Pliki Statyczne
By pliki statyczne były poprawnie wyświetlane musimy stworzyć odnośnik symboliczny w katalogu htdocs:ln -sf /www/virtual/DOMENA.itl.pl/PROJEKT/site_media /www/virtual/DOMENA.itl.pl/htdocs/site_media
Gdzie PROJEKT/site_media zakłada że pliki statyczne przechowujemy w katalogu site_media wewnątrz katalogu projektu. Jeżeli katalog ma inną nazwę to odpowiednio modyfikujemy polecenie. Dla htdocs/site_media "site_media" oznacza nazwę katalogu pod jaką pliki statyczne mają być widoczne w aplikacji (szablony) Django:
<img src="/site_media/plik.png" alt="" />
cp -r /usr/lib/python2.4/site-packages/django/contrib/admin/media /www/virtual/DOMENA.itl.pl/htdocs/media
Gotowe, aplikacja powinna już działać (pod adresem http://DOMENA.itl.pl/ jeżeli nie używamy własnej domeny).Rozwiązywanie problemów
- Baza SQLite: jeżeli używasz baz SQLite to w settings.py musisz podać bezwzględną ścieżkę typu "/www/virtual/DOMENA.itl.pl/PROJEKT/baza". Inaczej serwer będzie szukał pliku bazy w dostępnym przez HTTP katalogu htdocs
Aplikacja nie działa i nie wiem dlaczego:
- Spróbuj wywołać aplikację (serwer deweloperski, syncdb itp.) by sprawdzić czy nie pojawi się wyjątek
- Wykonaj plik fcgi - python django.fcgi by sprawdzić czy nie pojawi się wyjątek (CTRL+C by przerwać jeżeli działa)
- Sprawdź logi serwera
- Sprawdź http://DOMENA.itl.pl/django.fcgi (z tym że potrafi to wyrzucać błędy nawet gdy aplikacja działa)
- Skontaktuj się z administratorem - nie wszystkie błędy serwera są zapisywane w logach dostępnych dla klientów
Pylons
W przygotowaniu :nice:Kontakt z Adminem Serwera
- admin@itl.pl
- Numer telefonu BOK: +48 17 8507580
RkBlog
Comment article