Django

Webový framework v jazyce Python, který podporuje rychlý vývoj a čistý, pragmatický design.

1. SSH na váš server

ssh root@<server-ip>

2. Najít přihlašovací údaje

  • Výchozí uživatel: django
  • Heslo uloženo v: /root/.cloudzy-creds

(Volitelné) Změňte výchozí heslo: passwd django

3. Přepněte na uživatele aplikace

su - django

4. PostgreSQL (volitelné)

Pokud byl nainstalován PostgreSQL, nastavte databázi a uživatele (příklad):

sudo -u postgres psql
CREATE DATABASE <db>;
CREATE USER <user> WITH PASSWORD <password>;
GRANT ALL PRIVILEGES ON DATABASE <db> TO <user>;
q

Poté aktualizujte settings.py DATABASES s hostitelem localhost, název databáze, uživatel a heslo. Spusťte python manage.py migrate.

5. Nasazení aplikace

Ukázková aplikace Flask již běží a je dostupná na adrese: http://<server-ip

Chcete-li nasadit vlastní aplikaci:

  1. Přejděte do adresáře aplikace (nebo naklonujte nový projekt): cd ~/django_app
  2. (Volitelné) Nahradit výchozí aplikaci: git clone <your_repo_url> .
  3. Aktivujte virtuální prostředí: source venv/bin/activate
  4. Nainstalujte požadované balíčky: pip install -r requirements.txt
  5. Upravit settings.py: nastavit ALLOWED_HOSTS na vaši doménu/IP a zajistěte STATIC_ROOT existuje.
  6. Migrace databáze: python manage.py migrate
  7. Shromažďujte statickou elektřinu do STATIC_ROOT: python manage.py collectstatic --noinput
  8. Restartujte Gunicorn, aby se změny projevily: sudo systemctl restart gunicorn
  9. Restartujte Nginx: sudo systemctl restart nginx

6. Přístup k vaší aplikaci

Your Django app is available at: http://<server-ip

Nginx provádí reverzní proxy požadavků na Gunicorn prostřednictvím Unix socketu.

7. Změnit port nebo doménu?

Chcete-li upravit doménu, port nebo přidat SSL:

  1. Upravte konfiguraci webu Nginx: sudo nano /etc/nginx/sites-available/gunicorn_django
  2. Konfigurace testu: sudo nginx -t
  3. Znovu načíst Nginx: sudo systemctl restart nginx

8. Povolte HTTPS (volitelné)

Použijte Certbot k povolení HTTPS.

Nainstalujte certbot:

sudo apt install certbot python3-certbot-nginx -y

Získejte certifikáty a automaticky aktualizujte Nginx:

sudo certbot --nginx -d example.com

Test:

nginx -t && sudo systemctl reload nginx

Podrobnosti o aplikaci