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ă alegeți Django pentru aplicația dvs. web?
Înainte de a intra în procesul de instalare, merită să înțelegeți de ce Django continuă să domine peisajul dezvoltării web Python:
- Baterii incluse: Django vine cu autentificare încorporată, panou de administrare, ORM, gestionare formulare și caracteristici 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 profita la maximum de Django, veți dori un mediu de server fiabil. Un plan VPS Hosting vă oferă accesul root, resursele dedicate și flexibilitatea pe care o cer aplicațiile Django.
Cerințe 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
> Pro Tip: Dacă rulați o aplicație Django de 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 are nevoie aplicația dvs.
Pasul 1: Conectați-vă la serverul dvs. prin SSH
Deschideți terminalul și stabiliți o conexiune SSH la serverul dvs. de hosting:
ssh username@server_ipÎnlocuiți username cu numele dvs. actual de utilizator și server_ip cu adresa IP publică a serverului dvs. Dacă utilizați un port SSH personalizat sau un fișier de autentificare pe bază de cheie, ajustați comanda în consecință:
ssh -i /path/to/your/key.pem username@server_ipDupă 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 și pip
Menținerea pachetelor sistemului dvs. la zi este un prim pas critic atât pentru securitate, cât și pentru compatibilitate.
Actualizați indexul pachetelor
sudo apt update && sudo apt upgrade -yInstalați Python 3 și pip
Majoritatea distribuțiilor moderne Ubuntu și Debian vin cu Python 3 pre-instalat. Verificați mai întâi versiunea Python:
python3 --versionDacă Python 3 nu este instalat, sau aveți nevoie de pip, instalați-le cu:
sudo apt install python3 python3-pip -yVerificați instalările:
python3 --version
pip3 --versionAr 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ă recomandată 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 păstrând mediul dvs. curat.
Instalați virtualenv
sudo pip3 install virtualenvAlternativ, puteți utiliza modulul încorporat venv al Python (disponibil în Python 3.3+):
sudo apt install python3-venv -yCreați directorul proiectului și mediul virtual
Navigați la directorul în care doriți să găzduiți proiectul, sau creați unul nou:
mkdir myproject
cd myprojectAcum creați mediul virtual în directorul proiectului:
virtualenv venvSau, utilizând modulul încorporat venv:
python3 -m venv venvActivați mediul virtual
source venv/bin/activateDupă activare, promptul dvs. 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 rulați:
deactivatePasul 4: Instalați Django
Cu mediul virtual activ, instalați Django folosind pip:
pip install djangoPentru a instala o versiune specifică de Django (recomandată pentru producție pentru a asigura compatibilitatea):
pip install django==4.2Verificați instalarea:
django-admin --versionAr 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ă django-admin încorporat al Django pentru a crea un nou proiect:
django-admin startproject myproject .> Notă: Punctul final (.) 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.pymanage.py— Un utilitar de linie de comandă pentru interacțiunea cu proiectul Django.settings.py— Fișierul de configurare central pentru proiectul dvs.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.pyImplicit: SQLite (doar 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 de 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-binaryApoi 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 de producție: MySQL / MariaDB
Dacă preferați MySQL sau MariaDB, instalați adaptorul necesar:
sudo apt install default-libmysqlclient-dev -y
pip install mysqlclientApoi 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 migrări de bază de date
Django utilizează un sistem de migrare pentru a gestiona modificările schemei bazei de date. Rulați migrările inițiale pentru a crea toate tabelele necesare ale bazei de date:
python manage.py migrateVeți vedea o ieșire care listează fiecare migrare care se aplică. 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 superutilizator (opțional, dar recomandat)
Creați un cont de administrator pentru a accesa interfața de administrare încorporată a Django:
python manage.py createsuperuserVi 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:8000Această 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:8000Ar trebui să vedeți pagina de bun venit a Django — o rachetă cu mesajul „Instalarea a funcționat cu succes! Felicitări!”
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 calitate producție pentru implementări live.
Pasul 9: Pregătiți Django pentru producție (recomandat)
Pentru implementări de 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 gunicornTestați dacă Gunicorn poate servi aplicația dvs.:
gunicorn --bind 0.0.0.0:8000 myproject.wsgiInstalați și configurați Nginx
sudo apt install nginx -yCreați un fișier de configurare bloc server Nginx:
sudo nano /etc/nginx/sites-available/myprojectAdăugați următoarea configurație:
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 nginxColectați fișiere 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 collectstaticSecurizați aplicația cu SSL
Pentru orice aplicație Django de producție, HTTPS este indispensabil. 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 a browserului. AlexHost oferă certificatele SSL care se integrează perfect cu mediul dvs. de hosting.
Considerații suplimentare pentru producție
Variabile de mediu pentru setări sensibile
Nu codificați niciodată valori sensibile precum SECRET_KEY, parolele bazei de date sau cheile API în settings.py. Utilizați variabile de mediu în schimb:
pip install python-decoupleÎn settings.py:
from decouple import config
SECRET_KEY = config('SECRET_KEY')
DEBUG = config('DEBUG', default=False, cast=bool)Setați DEBUG la False în producție
DEBUG = FalseRularea cu DEBUG = True în producție expune pagini de eroare detaliate și informații de configurare sensibile potențialilor atacatori.
Configurați un nume de domeniu
Dacă nu ați înregistrat deja un domeniu pentru proiectul Django, Înregistrarea domeniilor prin AlexHost ușurează obținerea domeniului dvs. indicat către serverul dvs. rapid, cu gestionarea DNS completă inclusă.
Alegerea hostingului potrivit pentru aplicația 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 utilizare | Hosting recomandat |
|---|---|
| Dezvoltare și testare | Hosting web partajat |
| Aplicații de producție mici până la medii | VPS Hosting |
| Aplicații cu trafic ridicat sau care necesită resurse intensive | Servere dedicate |
| Aplicații Django integrate cu machine learning / AI | GPU Hosting |
Pentru majoritatea proiectelor Django care intră în producție, un plan VPS Hosting oferă echilibrul ideal între performanță, control și rentabilitate. Obțineți acces root, capacitatea de a instala orice stivă de software și resurse dedicate pe care hostingul partajat nu le poate oferi.
Depanarea problemelor comune de instalare Django
pip: command not found
Instalați pip manual: sudo apt install python3-pip -y
django-admin: command not found
Mediul virtual dvs. poate să nu fie activat
on All Hosting Services
