Uruchomienie aplikacji Python na usłudze hostingowej

Dla usług hostingowych jest możliwe uruchomienie aplikacji Python z poziomu modułu Aplikacje Python w panelu Direct_Admin.

Uwaga! Na wstępnie chcielibyśmy podkreślić, że nie świadczymy wsparcia w zakresie administracji i debugowania aplikacji Python. Poniższa instrukcja przedstawia jedynie opis uruchomienia aplikacji za pomocą narzędzia dostępnego w panelu administracyjnym hostingu.

Zalecane jest posiadanie pakietu z dostępem do SSH.

Aby uruchomić aplikację Python wykonaj następujące kroki:

1. Dodanie aplikacji
Nową aplikację można dodać z poziomu panelu hostingu w „Pozostałe ustawienia” -> „Aplikacje Python”

Następnie wybieramy opcję „Create Aplication”

2. Konfiguracja aplikacji
Po stworzeniu aplikacji przechodzimy do okna edycji, gdzie możemy zarządzać wersją Pythona, katalogiem głównym aplikacji czy plikami konfiguracyjnymi.

Python version
Wybieramy jedną z dostępnych wersji Python.

Application root
W tym miejscu podajemy ścieżkę do katalogu z naszą aplikacją. Katalog domowy aplikacji nie musi
znajdować się w katalogu domowym domeny, może być to dowolny katalog użytkownika.
Przykład ścieżki dla katalogu domyślnego public_html.
/home/user/domains/domain-name/public_html

Ścieżkami do katalogu domowego można zarządzać z poziomu panelu administracyjnego hostingu w „Serwer www i domeny” -> „Przypisz katalog domeny”.
Z uwagi na to, że zostanie utworzony specjalny wpis do pliku .htaccess przekierowujący z katalogu domeny głównej do katalogu naszej aplikacji, zalecamy tworzyć aplikacje na osobnych domenach z odseparowanymi katalogami.

Application URL
Tutaj należy podać nazwę domeny, pod jaką będzie odpowiadać aplikacja

Application startup file
Należy podać ścieżkę do pliku startowego – może to być plik zdefiniowany przez osobę, która tworzyła aplikację, jednak najczęściej jest to plik wsgi.py (sugerujemy podawać ścieżkę bezpośrednią)
/home/user/domains/domain-name/public_html/wsgi.py
Plik musi znajdować się w katalogu aplikacji lub poniżej. Ścieżkę można potem edytować.

  • wsgi.py – plik startowy aplikacji, tworzony automatycznie podczas uruchomienia polecenia
    Create application.
    Uwaga! W przypadku konfiguracji istniejącej aplikacji i podawania ścieżki do pliku wsgi.py
    zostanie on zastąpiony właśnie templatką utworzoną przez selector. Należy wykonać kopię pliku wsgi.py, który jest obecnie wgrany.
  • passenger_wsgi.py
    Plik odpowiadający za aktwyną pracę aplikacji.W tym pliku nie dokonujemy modyfikacji!
  • stderr.log
    Lista błędów dla samej aplikacji.

Application Entry point
Może być zdefiniowany przez osobę, która tworzyła aplikację, najczęściej jednak jest to słowo „application”
Entry point również uzupełnia się automatycznie jako słowo „application”.
Uwaga ! Entry point jako „application” należy dodać w przypadku Django, jednak dla równie
popularnego Flaska należy zdefiniować entry point jako „app” (również trochę inaczej będzie
wyglądać plik wsgi.py).

Zatwierdzenie Ustawień – Create
Po ustaleniu wstępnej konfiguracji generujemy aplikację przyciskiem „Create”. Zostanie
utworzone wirtualne środowisko. W katalogu głównym domeny tworzony jest też plik
.htaccess odpowiedzialny za ustawienia przekierowania na katalog aplikacji i działanie
Passenger’a. Z tego powodu zalecamy tworzenie aplikacji w wydzielonych domenach,
katalogach, aby nie kolidowały z innymi aplikacjami/stronami, zwłaszcza jeżeli chodzi o
ustawienia w pliku .htaccess


3. Sprawdzenie działania aplikacji
Na tym etapie należy sprawdzić, czy aplikacja Python poprawnie odpowiada. Pod zadeklarowaną nazwą domeny powinna zostać wyświetlona informacja o działającej wersji Pythona.
It works!
Python v3.10.4

Dopiero teraz można rozpocząć zgrywanie plików właściwej aplikacji.

4. Logowanie do wirtualnego środowiska
Aby korzystać z aplikacji Python, wymagane jest zalogowanie do wirtualnego środowiska poprzez SSH poleceniem dostępny u góry aplikacji w sekcji „Enter to the virtual environment.To enter to virtual environment, run the command.”
Po poprawnym zalogowaniu możemy odpytać dostępną wersję Python oraz wersję managera pip następującymi poleceniami:
python --version
pip --version

Uwaga #1 ! pip jest wbudowany dla Python dlatego będzie dostępny dopiero po zalogowaniu do
wirtualnego środowiska z uruchomionym serwerem Python.
Uwaga #2 ! Aplikacje Python mogą działać bez dostępu do SSH, aczkolwiek jest wskazane posiadanie dostępów SSH do pracy na wirtualnym środowisku i tam wykonywaniu dalszych skryptów.

Dodatkowe informacje

Run Pip Install & Configuration files
Żeby uruchomić run pip install należy ponownie podać ścieżkę do requirements.txt (również
bezwzględną):
/home/user/domains/domain-name/public_html/requirements.txt

Zalecamy jednak korzystać z konsoli SSH i wirtualnego środowiska.
Instalacja ze wskazaniem na plik:
pip install -r /home/user/path/requirements.txt

Upgrade managera pip
Aktualizację managera pip dokonujemy z poziomu SSH poleceniem:
pip install --upgrade pip
Następnie można dokonywać instalacji bibliotek, przez menadżer pip.

Zmienne środowiskowe
Zalecamy korzystanie z pliku .env jako miejsca do deklarowania zmiennych
środowiskowych.

Wskazanie na port
Domyślnie aplikacja uruchamiana jest na porcie http. Jeżeli chcemy skierować aplikację na konkretny port, można to zrobić z poziomu pliku .htaccess dla domeny w następujący sposób:
DirectoryIndex disabled
RewriteEngine On
RewriteRule ^$ http://127.0.0.1:NR_PORTU/ [P,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://127.0.0.1:NR_PORTU/$1 [P,L]

gdzie NR_PORTU – numer portu – najlepiej podać z zakresu: 35100:35599

FAQ – Najczęściej zadawane pytania/błędy

Aplikacja Python są dostępne na wszystkich serwerach współdzielonych. Dla Serwerów VPS i Dedykowanych Python jest dostępny z poziomu CLI.

Manager pip jest domyślnie dostępny wraz z serwerem Python. Upewnij się, czy jesteś poprawnie zalogowany do środowiska wirtualnego i czy serwer jest aktywny

Przykłady takich technologii to: Django, Flask, Tornado, Pyramid. Nie świadczymy wsparcia technicznego w zakresie administracji i instalacji dla tych technologii.

Hostingi współdzielone nie mają wsparcia dla baz danych typu PostgreSQL.

Jeżeli pojawia się problem z zatrzymaniem/usunięciem, należy najpierw zatrzymać dla niej procesy. Procesy można sprawdzić komendą ps aux lub htop z poziomu SSH. Można je zatrzymać komendą kill lub przy pomocy monitora procesów htop i wybrania opcji F9. Ważne: Przed usunięciem aplikacji nie należy usuwać plików Phyton oraz pliku .htaccess. Jeżeli dojdzie do takiej operacji, należy użyć opcji Destroy z poziomu Edycji aplikacji.

Jeżeli pojawia się komunikat o błędnej ścieżce, należy zatrzymać aplikację i dokonać edycji. Kiedy błąd dalej się pojawia a aplikacji nie można zatrzymać, konieczne będzie zatrzymanie procesu z poziomu SSH.

uruchomienie-aplikacji-python-na-usludze-hostingowej
>
Magdalena Pietraszek