Save 15% on All Hosting Services

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu: Skills Rozpocznij
Sekcja
Administracja Linux

Jak zainstalować Django na serwerze hostingowym: Kompletny przewodnik krok po kroku

Django to wysokopoziomowy framework internetowy Python zaprojektowany w celu wspierania szybkiego rozwoju i czystego, pragmatycznego projektowania. Pozostaje jednym z najpopularniejszych wyborów do budowania skalowalnych, bezpiecznych i łatwych w utrzymaniu aplikacji internetowych — od prostych blogów po złożone platformy korporacyjne. W tym kompleksowym przewodniku przeprowadzimy Cię przez każdy krok wymagany do zainstalowania Django na serwerze hostingowym, od przygotowania środowiska Linux do uruchomienia pierwszego projektu i przygotowania go do produkcji.

Dlaczego wybrać Django dla swojej aplikacji internetowej?

Przed przystąpieniem do procesu instalacji warto zrozumieć, dlaczego Django nadal dominuje w krajobrazie tworzenia aplikacji internetowych w Pythonie:

  • Baterie w zestawie: Django jest dostarczane z wbudowanym uwierzytelnianiem, panelem administracyjnym, ORM, obsługą formularzy i funkcjami bezpieczeństwa od razu po wyjęciu z pudełka.
  • Skalowalność: Django obsługuje platformy o dużym ruchu, takie jak Instagram i Pinterest.
  • Projektowanie zorientowane na bezpieczeństwo: Django chroni przed typowymi lukami w zabezpieczeniach, w tym atakami SQL injection, XSS, CSRF i clickjacking domyślnie.
  • Szybki rozwój: Jego filozofia konwencji zamiast konfiguracji pozwala programistom szybciej dostarczać funkcje.
  • Ogromny ekosystem: Tysiące pakietów wielokrotnego użytku i duża społeczność oznaczają, że rozwiązania prawie każdego problemu już istnieją.

Aby w pełni wykorzystać Django, potrzebujesz niezawodnego środowiska serwera. Plan VPS Hosting daje Ci dostęp root, dedykowane zasoby i elastyczność, których wymagają aplikacje Django.

Wymagania wstępne

Przed rozpoczęciem procesu instalacji upewnij się, że masz następujące elementy:

  • Serwer hostingowy z systemem Linux (zalecane są Ubuntu 20.04/22.04 lub Debian)
  • Dostęp SSH do serwera z uprawnieniami sudo
  • Python 3.8 lub nowszy (zalecane Python 3.10+)
  • pip (menedżer pakietów Python) zainstalowany
  • Podstawowa znajomość wiersza poleceń Linux

> Porada: Jeśli uruchamiasz produkcyjną aplikację Django, unikaj środowisk hostingu współdzielonego. Plan VPS Hosting lub Serwer dedykowany dadzą Ci kontrolę i wydajność, których potrzebuje Twoja aplikacja.

Krok 1: Połącz się z serwerem przez SSH

Otwórz terminal i nawiąż połączenie SSH z serwerem hostingowym:

ssh username@server_ip

Zastąp username swoją rzeczywistą nazwą użytkownika systemu i server_ip publicznym adresem IP serwera. Jeśli używasz niestandardowego portu SSH lub pliku uwierzytelniania opartego na kluczu, dostosuj polecenie odpowiednio:

ssh -i /path/to/your/key.pem username@server_ip

Po połączeniu będziesz mieć interfejs wiersza poleceń do serwera, gdzie możesz rozpocząć proces konfiguracji.

Krok 2: Zaktualizuj system i zainstaluj Python i pip

Aktualizacja pakietów systemowych to krytyczny pierwszy krok zarówno dla bezpieczeństwa, jak i kompatybilności.

Zaktualizuj indeks pakietów

sudo apt update && sudo apt upgrade -y

Zainstaluj Python 3 i pip

Większość nowoczesnych dystrybucji Ubuntu i Debian jest dostarczana z preinstalowanym Pythonem 3. Najpierw sprawdź wersję Pythona:

python3 --version

Jeśli Python 3 nie jest zainstalowany lub potrzebujesz pip, zainstaluj je za pomocą:

sudo apt install python3 python3-pip -y

Sprawdź instalacje:

python3 --version
pip3 --version

Powinieneś zobaczyć numery wersji potwierdzające dostępność obu narzędzi.

Krok 3: Skonfiguruj wirtualne środowisko Python

Korzystanie ze środowiska wirtualnego to nie tylko zalecenie — jest uważane za najlepszą praktykę dla każdego projektu Python. Środowiska wirtualne izolują zależności projektu od instalacji Pythona na poziomie systemu i od innych projektów na tym samym serwerze, zapobiegając konfliktom wersji i utrzymując środowisko czystym.

Zainstaluj virtualenv

sudo pip3 install virtualenv

Alternatywnie możesz użyć wbudowanego modułu venv Pythona (dostępny w Pythonie 3.3+):

sudo apt install python3-venv -y

Utwórz katalog projektu i środowisko wirtualne

Przejdź do katalogu, w którym chcesz hostować projekt, lub utwórz nowy:

mkdir myproject
cd myproject

Teraz utwórz środowisko wirtualne wewnątrz katalogu projektu:

virtualenv venv

Lub, korzystając z wbudowanego modułu venv:

python3 -m venv venv

Aktywuj środowisko wirtualne

source venv/bin/activate

Po aktywacji Twój wiersz poleceń zmieni się, aby pokazać nazwę środowiska wirtualnego, na przykład:

(venv) username@server:~/myproject$

Wszystkie polecenia pip install wykonane podczas aktywnego środowiska wirtualnego będą instalować pakiety tylko w tym izolowanym środowisku. Aby go dezaktywować w dowolnym momencie, po prostu uruchom:

deactivate

Krok 4: Zainstaluj Django

Ze środowiskiem wirtualnym aktywnym zainstaluj Django za pomocą pip:

pip install django

Aby zainstalować określoną wersję Django (zalecane dla produkcji w celu zapewnienia kompatybilności):

pip install django==4.2

Sprawdź instalację:

django-admin --version

Powinieneś zobaczyć numer zainstalowanej wersji Django wydrukowany w terminalu.

Krok 5: Utwórz nowy projekt Django

Użyj wbudowanego narzędzia wiersza poleceń django-admin Django do stworzenia nowego projektu:

django-admin startproject myproject .

> Uwaga: Końcowa kropka (.) mówi Django, aby utworzył pliki projektu w bieżącym katalogu, zamiast tworzyć zagnieżdżony podkatalog. To czystsza struktura dla większości wdrożeń.

Katalog projektu będzie teraz zawierać następującą strukturę:

myproject/
├── manage.py
└── myproject/
    ├── __init__.py
    ├── asgi.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py
  • manage.py — Narzędzie wiersza poleceń do interakcji z projektem Django.
  • settings.py — Centralny plik konfiguracyjny projektu.
  • urls.py — Konfiguracja routingu URL.
  • wsgi.py / asgi.py — Punkty wejścia dla serwerów internetowych kompatybilnych z WSGI i ASGI.

Krok 6: Skonfiguruj ustawienia bazy danych

Otwórz plik settings.py, aby skonfigurować połączenie z bazą danych:

nano myproject/settings.py

Domyślnie: SQLite (tylko do rozwoju)

Domyślnie Django jest skonfigurowane do używania SQLite, które jest odpowiednie do rozwoju i testowania, ale nie jest zalecane dla produkcji:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

Opcja produkcyjna: PostgreSQL

PostgreSQL to najczęściej rekomendowana baza danych dla Django w produkcji. Najpierw zainstaluj wymagane pakiety:

sudo apt install postgresql postgresql-contrib libpq-dev -y
pip install psycopg2-binary

Następnie zaktualizuj ustawienie DATABASES w settings.py:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'mydatabase',
        'USER': 'myuser',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

Opcja produkcyjna: MySQL / MariaDB

Jeśli wolisz MySQL lub MariaDB, zainstaluj wymagany adapter:

sudo apt install default-libmysqlclient-dev -y
pip install mysqlclient

Następnie skonfiguruj ustawienie DATABASES:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydatabase',
        'USER': 'myuser',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

Skonfiguruj ALLOWED_HOSTS

Będąc w settings.py, zaktualizuj również ustawienie ALLOWED_HOSTS, aby uwzględnić adres IP lub nazwę domeny serwera. Jest to wymagane, aby Django obsługiwało żądania w trybie bez debugowania:

ALLOWED_HOSTS = ['your_server_ip', 'yourdomain.com', 'www.yourdomain.com']

Krok 7: Zastosuj migracje bazy danych

Django używa systemu migracji do zarządzania zmianami schematu bazy danych. Uruchom początkowe migracje, aby utworzyć wszystkie niezbędne tabele bazy danych:

python manage.py migrate

Zobaczysz dane wyjściowe zawierające listę każdej stosowanej migracji. Pomyślna migracja wygląda następująco:

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  ...

Utwórz superużytkownika (opcjonalnie, ale zalecane)

Utwórz konto administratora, aby uzyskać dostęp do wbudowanego interfejsu administracyjnego Django:

python manage.py createsuperuser

Zostaniesz poproszony o wprowadzenie nazwy użytkownika, adresu e-mail i hasła.

Krok 8: Uruchom serwer deweloperski Django

Możesz teraz uruchomić wbudowany serwer deweloperski Django, aby zweryfikować instalację:

python manage.py runserver 0.0.0.0:8000

To polecenie wiąże serwer deweloperski ze wszystkimi dostępnymi interfejsami sieciowymi na porcie 8000. Otwórz przeglądarkę internetową i przejdź do:

http://your_server_ip:8000

Powinieneś zobaczyć stronę powitania Django — rakietę z wiadomością „Instalacja powiodła się! Gratulacje!”

Aby uzyskać dostęp do panelu administracyjnego, przejdź do:

http://your_server_ip:8000/admin

> Ważne: Wbudowany serwer deweloperski Django nie nadaje się do produkcji. Jest jednowątkowy, nie zoptymalizowany pod kątem wydajności i pozbawiony hartowania bezpieczeństwa. Zawsze używaj serwera internetowego klasy produkcyjnej do wdrożeń na żywo.

Krok 9: Przygotuj Django do produkcji (zalecane)

W przypadku wdrożeń produkcyjnych musisz skonfigurować odpowiedni stos serwera internetowego. Najczęstsze i zalecane ustawienie to Nginx + Gunicorn.

Zainstaluj Gunicorn

Ze środowiskiem wirtualnym aktywnym:

pip install gunicorn

Przetestuj, czy Gunicorn może obsługiwać Twoją aplikację:

gunicorn --bind 0.0.0.0:8000 myproject.wsgi

Zainstaluj i skonfiguruj Nginx

sudo apt install nginx -y

Utwórz plik konfiguracji bloku serwera Nginx:

sudo nano /etc/nginx/sites-available/myproject

Dodaj następującą konfigurację:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    location = /favicon.ico { access_log off; log_not_found off; }

    location /static/ {
        root /home/username/myproject;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }
}

Włącz konfigurację i uruchom ponownie Nginx:

sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Zbierz pliki statyczne

Zaktualizuj settings.py katalogiem plików statycznych:

STATIC_ROOT = BASE_DIR / 'staticfiles'

Następnie zbierz wszystkie pliki statyczne:

python manage.py collectstatic

Zabezpiecz swoją aplikację za pomocą SSL

W przypadku każdej produkcyjnej aplikacji Django HTTPS jest niezbędne. Certyfikat SSL szyfruje dane przesyłane między serwerem a użytkownikami, chroni poufne informacje i jest wymagany dla nowoczesnych wskaźników zaufania przeglądarki. AlexHost oferuje certyfikaty SSL, które bezproblemowo integrują się z Twoim środowiskiem hostingowym.

Dodatkowe zagadnienia produkcyjne

Zmienne środowiskowe dla poufnych ustawień

Nigdy nie koduj na stałe poufnych wartości, takich jak SECRET_KEY, hasła bazy danych lub klucze API w settings.py. Zamiast tego użyj zmiennych środowiskowych:

pip install python-decouple

W settings.py:

from decouple import config

SECRET_KEY = config('SECRET_KEY')
DEBUG = config('DEBUG', default=False, cast=bool)

Ustaw DEBUG na False w produkcji

DEBUG = False

Uruchomienie z DEBUG = True w produkcji ujawnia szczegółowe strony błędów i poufne informacje konfiguracyjne potencjalnym atakującym.

Skonfiguruj nazwę domeny

Jeśli nie zarejestrowałeś jeszcze domeny dla projektu Django, Rejestracja domeny przez AlexHost ułatwia szybkie skierowanie domeny na serwer, z pełnym zarządzaniem DNS w zestawie.

Wybór odpowiedniego hostingu dla aplikacji Django

Środowisko hostingowe, które wybierzesz, ma znaczący wpływ na wydajność, niezawodność i skalowalność aplikacji Django. Oto krótki przewodnik:

Przypadek użyciaZalecany hosting
Rozwój i testowanieHosting współdzielony
Małe do średnich aplikacji produkcyjnychVPS Hosting
Aplikacje o dużym ruchu lub wymagające dużych zasobów
Linux
Administracja Hosting LiteSpeed
Administracja Bezpieczeństwo Linux

Save 15% on All Hosting Services

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu: Skills Rozpocznij
Szybki dostęp do informacji
Szybki dostęp do informacji

Oszczędzaj czas i uzyskaj szybką odpowiedź na swoje pytanie

Samodzielne rozwiązywanie problemów
Samodzielne rozwiązywanie problemów

Baza wiedzy zawiera szczegółowe samouczki, pozwalające na samodzielną obsługę zadań technicznych.

Poprawa umiejętności
Poprawa umiejętności

Korzystając z bazy wiedzy, poszerzasz swoją wiedzę na temat hostingu i powiązanych tematów

Ilustracje i wykresy
Ilustracje i wykresy

Wielu artykułom towarzyszą ilustracje i schematy, ułatwiające zrozumienie złożonych procesów i ustawień.

Przydatne sztuczki
Przydatne sztuczki

Znajdziesz przydatne wskazówki i triki, aby poprawić wydajność swojej strony lub aplikacji internetowej

Istotność podanych tematów
Istotność podanych tematów

Informacje w bazie wiedzy są regularnie aktualizowane, aby odzwierciedlić najnowsze zmiany i trendy w dziedzinie infrastruktury IT i usług AlexHost

Nie znalazłeś tematu, którego szukałeś? Istnieje doskonałe rozwiązanie

Wyjątkowi goście i klienci! Twoja wygoda jest naszym priorytetem! Jeśli masz trudności z instalacją określonego oprogramowania lub wdrożeniem serwera, nie wahaj się z nami skontaktować. Cenimy Twoją opinię i zawsze jesteśmy gotowi pomóc Ci rozwiązać Twoje problemy.

Co więcej, dajemy ci możliwość aktywnego uczestnictwa w tworzeniu naszej bazy wiedzy. Jeśli masz tematy lub pytania, które chciałbyś umieścić w naszej bazie, daj nam znać! Jesteśmy gotowi napisać szczegółowe artykuły i przewodniki w oparciu o Twoje potrzeby.

Staramy się, aby Twoje doświadczenia z AlexHost były jak najbardziej wygodne i wydajne, a Twój wkład w bazę wiedzy pomaga nam osiągnąć ten cel. Skontaktuj się z nami ->
info@alexhost.com i daj nam znać, jak możemy uczynić Twój pobyt u nas jeszcze lepszym.

Solution Image