Jak uruchomić aplikację w Django?

Popularnym oprogramowaniem open source napisanym przy pomocy Django jest OSQA ­ system typu pytanie ­ odpowiedź. Na jego przykładzie zostanie opisane uruchomienie aplikacji napisanej w Django.

Dla aplikacji napisanych w Django polecanym serwerem aplikacyjnym, który ma możliwość nasłuchiwania na unix socket jest gunicorn.

Na potrzeby przykładu zakładamy, że na serwerze w katalogu /home/nazwa_użytkownika/websites/osqa znajduje się rozpakowana instalacja OSQA.

W Django każda aplikacja powinna mieć swoje środowisko zawierające niezbędne bibioteki.

  1. Zaczynamy od utworzenia środowiska vierualenv, ­ środowisko tworzymy w katalogu /home/nazwa_użytkownika/libraries

    cd /home/nazwa_użytkownika/libraries
    virtualenv osqa
    source osqa/bin/activate

  2. Następnie przechodzimy do katalogu gdzie znajduje się OSQA i instalujemy niezbędne biblioteki:

    cd /home/nazwa_użytkownika/websites/osqa/
    pip install -­r requirements.txt

  3. Domyślnie OSQA w zależnościach nie posiada obsługi mysql, w związku z tym należy zainstalować ją ręcznie:

    pip install MySQL­python

  4. Instalujemy serwer aplikacyjny pozwalający na uruchomienie aplikacji:

    pip install gunicorn

  5. Konfirugujemy aplikację:

    cp settings_local.py.dist settings_local.py

    Edytujemy plik settings_local.py i uzupełniamy tam sekcję DATABASES o konfigurację bazy danych.

    Zmieniamy nazwę pliku osqa.wsgi.dist na osqa.py

  6. Następnie dodajemy aplikację w panelu administracyjnym. Jako polecenie startowe podajemy:

    /home/nazwa_użytkownika/libraries/osqa/bin/python /home/nazwa_użytkownika/libraries/osqa/bin/gunicorn osqa.wsgi:application -w 4 -b unix:/home/nazwa_użytkownika/sockets/osqa –log-file /home/nazwa_użytkownika/logs/applications/osqa.log –pythonpath /home/nazwa_użytkownika/websites/osqa/

    W polu nazwa socketu podajemy nazwa_socketu z polecenia powyżej

  7. Ostatnim etapem konfiguracji aplikacji jest dodanie strony www.