Economisiți 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul: Skills Începeți
Secțiuni
Administrație Linux

Cum să instalezi Django pe un server de hosting: Un ghid complet pas cu pas

Django este un framework web Python de nivel înalt conceput pentru a încuraja dezvoltarea rapidă și designul curat și pragmatic. Rămâne una dintre cele mai populare alegeri pentru construirea aplicațiilor web scalabile, sigure și ușor de întreținut — de la bloguri simple la platforme enterprise complexe. În acest ghid cuprinzător, vă vom ghida prin fiecare pas necesar pentru a instala Django pe un server de hosting, de la pregătirea mediului Linux la rularea primului proiect și pregătirea acestuia pentru producție.

De ce să alegi Django pentru aplicația ta web?

Înainte de a te aprofunda în procesul de instalare, merită să înțelegi de ce Django continuă să domine peisajul dezvoltării web Python:

  • Toate instrumentele incluse: Django vine cu autentificare încorporată, panou admin, ORM, gestionarea formularelor și funcții de securitate din cutie.
  • Scalabilitate: Django alimentează platforme cu trafic ridicat precum Instagram și Pinterest.
  • Design cu prioritate pe securitate: Django protejează împotriva vulnerabilităților comune, inclusiv injecție SQL, XSS, CSRF și clickjacking, implicit.
  • Dezvoltare rapidă: Filosofia sa de convenție peste configurație permite dezvoltatorilor să lanseze funcții mai rapid.
  • Ecosistem masiv: Mii de pachete reutilizabile și o comunitate mare înseamnă că soluții la aproape orice problemă există deja.

Pentru a obține cel mai mult din Django, vei dori un mediu de server fiabil. Un plan VPS Hosting îți oferă acces root, resurse dedicate și flexibilitatea pe care o cer aplicațiile Django.

Condiții preliminare

Înainte de a începe procesul de instalare, asigurați-vă că aveți următoarele:

  • Un server de hosting care rulează o distribuție Linux (Ubuntu 20.04/22.04 sau Debian sunt recomandate)
  • Acces SSH la server cu privilegii sudo
  • Python 3.8 sau superior (Python 3.10+ recomandat)
  • pip (managerul de pachete al Python) instalat
  • Familiaritate de bază cu linia de comandă Linux

> Sfat profesional: Dacă rulați o aplicație Django în producție, evitați mediile de hosting partajat. Un plan VPS Hosting sau un Server dedicat vă va oferi controlul și performanța de care aplicația dumneavoastră are nevoie.

Pasul 1: Conectați-vă la Server prin SSH

Deschideți terminalul și stabiliți o conexiune SSH la serverul de hosting:

ssh username@server_ip

Înlocuiți username cu numele real al utilizatorului dvs. și server_ip cu adresa IP publică a serverului. Dacă utilizați un port SSH personalizat sau un fișier de autentificare bazat pe chei, ajustați comanda în consecință:

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

După conectare, veți avea o interfață de linie de comandă pentru serverul dvs. unde puteți începe procesul de configurare.

Pasul 2: Actualizați Sistemul și Instalați Python & pip

Menținerea pachetelor sistemului dvs. la zi este un pas critic atât pentru securitate, cât și pentru compatibilitate.

Actualizați Indexul Pachetelor

sudo apt update && sudo apt upgrade -y

Instalați Python 3 și pip

Majoritatea distribuțiilor moderne Ubuntu și Debian sunt livrate cu Python 3 pre-instalat. Verificați mai întâi versiunea Python:

python3 --version

Dacă Python 3 nu este instalat, sau aveți nevoie de pip, instalați-le cu:

sudo apt install python3 python3-pip -y

Verificați instalările:

python3 --version
pip3 --version

Ar trebui să vedeți numere de versiune care confirmă că ambele instrumente sunt disponibile.

Pasul 3: Configurați un mediu virtual Python

Utilizarea unui mediu virtual nu este doar recomandată — este considerată o practică de bază pentru fiecare proiect Python. Mediile virtuale izolează dependențele proiectului dvs. de instalarea Python la nivel de sistem și de alte proiecte pe același server, prevenind conflictele de versiune și menținând mediul dvs. curat.

Instalați virtualenv

sudo pip3 install virtualenv

Alternativ, puteți utiliza modulul încorporat venv al Python (disponibil în Python 3.3+):

sudo apt install python3-venv -y

Creați directorul și mediul virtual al proiectului dvs.

Navigați la directorul în care doriți să găzduiți proiectul dvs., sau creați unul nou:

mkdir myproject
cd myproject

Acum creați mediul virtual în interiorul directorului proiectului dvs.:

virtualenv venv

Sau, utilizând modulul încorporat venv:

python3 -m venv venv

Activați mediul virtual

source venv/bin/activate

Odată activat, promptul de comandă se va schimba pentru a afișa numele mediului virtual, de exemplu:

(venv) username@server:~/myproject$

Toate comenzile pip install executate în timp ce mediul virtual este activ vor instala pachete doar în acest mediu izolat. Pentru a-l dezactiva în orice moment, pur și simplu executați:

deactivate

Pasul 4: Instalați Django

Cu mediul virtual activ, instalați Django folosind pip:

pip install django

Pentru a instala o versiune specifică de Django (recomandat pentru producție pentru a asigura compatibilitatea):

pip install django==4.2

Verificați instalarea:

django-admin --version

Ar trebui să vedeți numărul versiunii Django instalate tipărit în terminal.

Pasul 5: Creați un Nou Proiect Django

Utilizați instrumentul de linie de comandă încorporat al Django django-admin pentru a crea un nou proiect:

django-admin startproject myproject .

> Notă: Punctul final (.) îi spune Django să creeze fișierele proiectului în directorul curent, mai degrabă decât să creeze un subdirector imbricat. Aceasta este o structură mai curată pentru majoritatea implementărilor.

Directorul proiectului dvs. va conține acum următoarea structură:

myproject/
├── manage.py
└── myproject/
    ├── __init__.py
    ├── asgi.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py
  • manage.py — Un utilitar de linie de comandă pentru interacțiunea cu proiectul Django.
  • settings.py — Fișierul de configurare central al proiectului.
  • urls.py — Configurația rutării URL.
  • wsgi.py / asgi.py — Puncte de intrare pentru servere web compatibile cu WSGI și ASGI.

Pasul 6: Configurați setările bazei de date

Deschideți fișierul settings.py pentru a configura conexiunea bazei de date:

nano myproject/settings.py

Implicit: SQLite (Doar pentru dezvoltare)

În mod implicit, Django este configurat să utilizeze SQLite, care este potrivit pentru dezvoltare și testare, dar nu este recomandat pentru producție:

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

Opțiune pentru producție: PostgreSQL

PostgreSQL este cea mai frecvent recomandată bază de date pentru Django în producție. Mai întâi, instalați pachetele necesare:

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

Apoi actualizați setarea DATABASES în settings.py:

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

Opțiune pentru producție: MySQL / MariaDB

Dacă preferați MySQL sau MariaDB, instalați adaptorul necesar:

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

Apoi configurați setarea DATABASES:

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

Configurați ALLOWED_HOSTS

În timp ce sunteți în settings.py, actualizați și setarea ALLOWED_HOSTS pentru a include adresa IP sau numele de domeniu al serverului dvs. Aceasta este necesară pentru ca Django să servească cererile în modul non-debug:

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

Pasul 7: Aplicați Migrațiile Bazei de Date

Django folosește un sistem de migrare pentru a gestiona modificările schemei bazei de date. Executați migrațiile inițiale pentru a crea toate tabelele necesare ale bazei de date:

python manage.py migrate

Veți vedea o ieșire care listează fiecare migrare fiind aplicată. O migrare reușită arată ca:

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

Creați un Superuser (Opțional dar Recomandat)

Creați un cont de administrator pentru a accesa interfața de administrare încorporată a Django:

python manage.py createsuperuser

Vi se va cere să introduceți un nume de utilizator, o adresă de e-mail și o parolă.

Pasul 8: Rulați serverul de dezvoltare Django

Puteți acum porni serverul de dezvoltare încorporat al Django pentru a verifica instalarea:

python manage.py runserver 0.0.0.0:8000

Această comandă leagă serverul de dezvoltare la toate interfețele de rețea disponibile pe portul 8000. Deschideți browserul web și navigați la:

http://your_server_ip:8000

Ar trebui să vedeți pagina de bun venit Django — o rachetă cu mesajul "The install worked successfully! Congratulations!"

Pentru a accesa panoul de administrare, navigați la:

http://your_server_ip:8000/admin

> Important: Serverul de dezvoltare încorporat al Django nu este potrivit pentru producție. Este single-threaded, nu este optimizat pentru performanță și nu are întărire de securitate. Utilizați întotdeauna un server web de nivel producție pentru implementări live.

Pasul 9: Pregătiți Django pentru Producție (Recomandat)

Pentru implementări în producție, trebuie să configurați o stivă de server web adecvată. Configurația cea mai comună și recomandată este Nginx + Gunicorn.

Instalați Gunicorn

Cu mediul virtual activ:

pip install gunicorn

Testați că Gunicorn poate servi aplicația dvs.:

gunicorn --bind 0.0.0.0:8000 myproject.wsgi

Instalați și Configurați Nginx

sudo apt install nginx -y

Creați un fișier de configurare a blocului de server Nginx:

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

Adăugați următoarea configurare:

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;
    }
}

Activați configurația și reporniți Nginx:

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

Colectați Fișierele Statice

Actualizați settings.py cu directorul fișierelor statice:

STATIC_ROOT = BASE_DIR / 'staticfiles'

Apoi colectați toate fișierele statice:

python manage.py collectstatic

Securizați Aplicația cu SSL

Pentru orice aplicație Django în producție, HTTPS este obligatoriu. Un Certificat SSL criptează datele în tranzit între serverul dvs. și utilizatorii dvs., protejează informațiile sensibile și este necesar pentru indicatorii moderni de încredere ai browserului. AlexHost oferă certificatele SSL care se integrează perfect cu mediul dvs. de găzduire.

Considerații Suplimentare pentru Producție

Variabile de Mediu pentru Setări Sensibile

Nu hardcodifica niciodată valori sensibile precum SECRET_KEY, parole de bază de date sau chei API în settings.py. Folosește în schimb variabile de mediu:

pip install python-decouple

În settings.py:

from decouple import config

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

Setează DEBUG la False în Producție

DEBUG = False

Rularea cu DEBUG = True în producție expune pagini de eroare detaliate și informații sensibile de configurare potențialilor atacatori.

Configurează un Nume de Domeniu

Dacă nu ai deja înregistrat un domeniu pentru proiectul tău Django, Înregistrarea Domeniilor prin AlexHost face ușor să-ți orientezi domeniul către serverul tău rapid, cu management DNS complet inclus.

Alegerea Hosting-ului Potrivit pentru Aplicația Dvs. Django

Mediul de hosting pe care îl alegeți are un impact semnificativ asupra performanței, fiabilității și scalabilității aplicației Django. Iată un ghid rapid:

Caz de utilizareHosting recomandat
Dezvoltare și testareShared Web Hosting
Aplicații de producție mici și mediiVPS Hosting
Aplicații cu trafic ridicat sau care necesită resurse intensiveDedicated Servers
Aplicații Django integrate cu machine learning / AIGPU Hosting

Pentru majoritatea proiectelor Django care trec în producție, un plan de VPS Hosting oferă echilibrul ideal între performanță, control și rentabilitate. Obțineți acces root, capacitatea de a instala orice stack de software și resurse dedicate pe care shared hosting nu le poate oferi.

Troubleshooting Common Django Installation Issues

pip: command not found

Instalați pip manual: sudo apt install python3-pip -y

django-admin: command not found

Mediul dvs. virtual poate să nu fie activat. Rulați source venv/bin/activate și încercați din nou.

Port 8000 Not Accessible

Verificați regulile firewall-ului serverului dvs. Pe Ubuntu cu UFW:

sudo ufw allow 8000
sudo ufw reload

Database Connection Refused

Verificați că serviciul dvs. de bază de date este în execuție:

sudo systemctl status postgresql
# or
sudo systemctl status mysql

ALLOWED_HOSTS Error

Asigurați-vă că adresa IP a serverului dvs. sau numele domeniului este listat în setarea ALLOWED_HOSTS din settings.py.

Concluzie

Ați instalat cu succes Django pe serverul de hosting, ați configurat un mediu virtual, ați configurat baza de date și ați învățat cum să pregătiți aplicația pentru producție. Setul bogat de funcții al Django, valorile implicite de securitate puternice și ecosistemul masiv o fac o alegere excelentă pentru proiecte de dezvoltare web de orice scară.

Pentru implementări în producție, utilizați întotdeauna o stivă de server web adecvată (Nginx + Gunicorn sau Apache + uWSGI), setați DEBUG = False, securizați aplicația cu un Certificat SSL, și alegeți un mediu de hosting care se potrivește cu cerințele de resurse ale aplicației. Indiferent dacă porniți un proiect nou sau scalați unul existent, planurile VPS Hosting și Dedicated Server ale AlexHost oferă performanța, fiabilitatea și flexibilitatea pe care o merită aplicația Django.