Django

Et Python-webframework, der fremmer hurtig udvikling og rent, pragmatisk design.

1. SSH til din server

ssh root@<server-ip>

2. Find loginoplysninger

  • Standardbruger: django
  • Adgangskode gemt i: /root/.cloudzy-creds

(Valgfrit) Skift standardadgangskoden: passwd django

3. Skift til app-brugeren

su - django

4. PostgreSQL (valgfrit)

Hvis PostgreSQL blev installeret, skal du konfigurere DB og bruger (eksempel):

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

Opdater derefter settings.py DATABASES med vært localhost, databasenavn, bruger og adgangskode. Kør python manage.py migrate.

5. Implementer din app

En eksempel-Flask-app kører allerede og er tilgængelig på: http://<server-ip

Sådan implementerer du din egen app:

  1. Naviger til dit programkatalog (eller klon et nyt projekt): cd ~/django_app
  2. (Valgfrit) Erstat standardapp: git clone <your_repo_url> .
  3. Aktivér det virtuelle miljø: source venv/bin/activate
  4. Installer de nødvendige pakker: pip install -r requirements.txt
  5. Juster settings.py: sæt ALLOWED_HOSTS til dit domæne/IP og sikre STATIC_ROOT eksisterer.
  6. Migrer database: python manage.py migrate
  7. Saml statisk elektricitet i STATIC_ROOT: python manage.py collectstatic --noinput
  8. Genstart Gunicorn for at anvende ændringerne: sudo systemctl restart gunicorn
  9. Genstart Nginx: sudo systemctl restart nginx

6. Få adgang til din app

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

Nginx omdirigerer anmodninger til Gunicorn via Unix-socket.

7. Skift port eller domæne?

For at justere domæne, port eller tilføje SSL:

  1. Rediger Nginx-webstedskonfiguration: sudo nano /etc/nginx/sites-available/gunicorn_django
  2. Testkonfiguration: sudo nginx -t
  3. Genindlæs Nginx: sudo systemctl restart nginx

8. Aktivér HTTPS (valgfrit)

Brug Certbot til at aktivere HTTPS.

Installer certbot:

sudo apt install certbot python3-certbot-nginx -y

Hent certifikater og opdater Nginx automatisk:

sudo certbot --nginx -d example.com

Test:

nginx -t && sudo systemctl reload nginx

Ansøgningsoplysninger