Uvod
Django, popularan Python web framework, nudi sveobuhvatan skup alata za brzo kreiranje i održavanje web aplikacija. U kombinaciji sa Postgres-om, moćnim sistemom za upravljanje relacionim bazama podataka, Nginx-om, web serverom visokih performansi, i Gunicorn-om, WSGI HTTP serverom, Django omogućava stvaranje robusne i efikasne platforme za hostovanje web aplikacija. Ovaj detaljni vodič će vas voditi kroz proces instalacije i konfiguracije Django-a sa Postgres-om, Nginx-om i Gunicorn-om na Ubuntu 20.04 LTS serveru.
Instalacija potrebnog softvera
1. Ažuriranje sistema
Započnite ažuriranjem keša menadžera paketa i instaliranjem najnovijih verzija instaliranih paketa:
sudo apt update sudo apt upgrade
2. Instalacija Python 3 i PIP
Django zahteva Python 3 i PIP, menadžer paketa za Python. Instalirajte ih pomoću sledeće naredbe:
sudo apt install python3 python3-pip
3. Instalacija virtuelnog okruženja
Virtuelna okruženja izoluju Python okruženja, sprečavajući sukobe verzija i zavisnosti. Instalirajte virtuelno okruženje koristeći ovu naredbu:
sudo apt install python3-venv
4. Instalacija Django-a
Sada instalirajte Django u vaše virtuelno okruženje:
python3 -m venv my_django_env source my_django_env/bin/activate pip install Django
5. Instalacija Postgres-a
sudo apt install postgresql postgresql-contrib
6. Instalacija Nginx-a
sudo apt install nginx
7. Instalacija Gunicorn-a
pip install gunicorn
Konfiguracija sistema
1. Kreiranje Django projekta
Napravite novi direktorijum za vaš Django projekat i inicijalizujte ga:
mkdir my_django_project cd my_django_project django-admin startproject mysite
2. Konfiguracija Django postavki
Otvorite datoteku settings.py
u direktorijumu mysite
i dodajte sledeće postavke:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'mydjangoapp', 'USER': 'django_user', 'PASSWORD': 'my_password', 'HOST': 'localhost', 'PORT': '5432', } }
Zamenite mydjangoapp
, django_user
, i my_password
sa odgovarajućim vrednostima za vaš projekat.
3. Kreiranje Postgres baze podataka
Prijavite se na Postgres koristeći postgres
korisnika i kreirajte bazu podataka za Django aplikaciju:
sudo -u postgres psql CREATE DATABASE mydjangoapp; CREATE USER django_user WITH PASSWORD 'my_password'; GRANT ALL PRIVILEGES ON DATABASE mydjangoapp TO django_user; \q
4. Pokretanje Django migracija
Migracije kreiraju tabele i strukture neophodne za vašu Django aplikaciju:
python manage.py migrate
5. Konfiguracija Nginx-a
Otvorite datoteku /etc/nginx/sites-available/mysite
i dodajte sledeću konfiguraciju:
server { listen 80; server_name mysite.example.com; location / { proxy_pass http://127.0.0.1:8000; } }
Zamenite mysite.example.com
sa imenom domena ili IP adresom vašeg servera.
6. Konfiguracija Gunicorn-a
Napravite datoteku mysite.conf
u direktorijumu sa konfiguracionim datotekama Gunicorn-a i dodajte sledeću konfiguraciju:
[uwsgi] socket = 127.0.0.1:8000 protocol = http num-processes = 4 enable-threads = true wsgi-file = mysite/wsgi.py
7. Povezivanje Nginx-a sa Gunicorn-om
Otvorite datoteku /etc/nginx/nginx.conf
i dodajte sledeći blok:
upstream django_app { server 127.0.0.1:8000; }
Zatim povežite Nginx sa Gunicorn-om dodavanjem sledećeg bloka u datoteku mysite
konfiguracije:
location / { proxy_pass http://django_app; }
Pokretanje aplikacije
1. Startovanje Postgres-a
sudo systemctl start postgresql
2. Startovanje Gunicorn-a
gunicorn --config mysite.conf mysite.wsgi
3. Startovanje Nginx-a
sudo systemctl start nginx
4. Provera da li aplikacija radi
Pristupite svojoj aplikaciji u pretraživaču na http://mysite.example.com
. Ako vidite Django dobrodošlicu, vaša aplikacija radi ispravno.
Zaključak
Instaliranjem i konfiguracijom Django-a sa Postgres-om, Nginx-om i Gunicorn-om na Ubuntu 20.04 LTS serveru, uspešno ste kreirali robustan i efikasan sistem za hostovanje web aplikacija. Ovaj vodič vas je detaljno proveo kroz svaki korak, od instalacije do konfiguracije. Sada možete razvijati, testirati i implementirati svoje Django aplikacije brzo i lako na vašem Ubuntu serveru.
Često postavljana pitanja (FAQs)
1. Koje su prednosti korišćenja Postgres-a sa Django-om?
Postgres je sistem za upravljanje relacionim bazama podataka visokih performansi, sa odličnom pouzdanošću i podrškom za napredne funkcije poput ACID transakcija i upita zasnovanih na indeksima.
2. Kako ažurirati Django verziju?
Za ažuriranje Django-a, prvo aktivirajte vaše virtuelno okruženje, a zatim izvršite sledeću komandu: pip install Django --upgrade
.
3. Kako postaviti Django aplikaciju na produkcijskom serveru?
Koristite proksi server, kao što je Nginx ili Apache, ispred Django aplikacije za poboljšane performanse, bezbednost i skalabilnost.
4. Kako nadograditi Django projekat na noviju verziju?
Izvršite django-admin upgrade
komandu iz direktorijuma vašeg Django projekta da proverite da li postoje migracije za nadogradnju projekta.
5. Kako konfigurisati SSL/TLS za Nginx na Ubuntu-u?
Da biste omogućili SSL/TLS za Nginx, potrebno je da kreirate SSL sertifikat i ključ, a zatim ih dodate u konfiguraciju Nginx-a.
6. Kako implementirati keširanje u Django-u?
Možete koristiti