Django

Un framework web Python che favorisce uno sviluppo rapido e un design pulito e pragmatico.

1. SSH al tuo server

ssh root@<server-ip>

2. Trova le credenziali di accesso

  • Utente predefinito: django
  • Password memorizzata in: /root/.cloudzy-creds

(Facoltativo) Modifica la password predefinita: passwd django

3. Passa all'utente dell'app

su - django

4. PostgreSQL (facoltativo)

Se PostgreSQL è stato installato, configurare il database e l'utente (esempio):

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

Quindi aggiornare settings.py DATABASES con ospite localhost, nome del database, utente e password. Esegui python manage.py migrate.

5. Distribuisci la tua app

Un'app Flask di esempio è già in esecuzione e accessibile all'indirizzo: http://<server-ip

Per distribuire la tua app:

  1. Passa alla directory dell'applicazione (o clona un nuovo progetto): cd ~/django_app
  2. (Facoltativo) Sostituisci app predefinita: git clone <your_repo_url> .
  3. Attiva l'ambiente virtuale: source venv/bin/activate
  4. Installa i pacchetti richiesti: pip install -r requirements.txt
  5. Regolare settings.py: impostare ALLOWED_HOSTS al tuo dominio/IP e assicurati che STATIC_ROOT esiste.
  6. Migrazione del database: python manage.py migrate
  7. Raccogliere elettricità statica in STATIC_ROOT: python manage.py collectstatic --noinput
  8. Riavvia Gunicorn per applicare le modifiche: sudo systemctl restart gunicorn
  9. Riavvia Nginx: sudo systemctl restart nginx

6. Accedi alla tua app

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

Nginx sta inoltrando le richieste a Gunicorn tramite socket Unix.

7. Cambiare porta o dominio?

Per modificare il dominio, la porta o aggiungere SSL:

  1. Modifica la configurazione del sito Nginx: sudo nano /etc/nginx/sites-available/gunicorn_django
  2. Configurazione di prova: sudo nginx -t
  3. Ricarica Nginx: sudo systemctl restart nginx

8. Abilita HTTPS (facoltativo)

Utilizza Certbot per abilitare HTTPS.

Installa certbot:

sudo apt install certbot python3-certbot-nginx -y

Ottieni certificati e aggiorna Nginx automaticamente:

sudo certbot --nginx -d example.com

Test:

nginx -t && sudo systemctl reload nginx

Dettagli dell'applicazione