1. SSH naar je server
ssh root@<server-ip>
2. Inloggegevens Vinden
- Standaardgebruiker:
django - Wachtwoord opgeslagen in:
/root/.cloudzy-creds
(Optioneel) Wijzig het standaardwachtwoord: passwd django
3. Schakel Over naar de App-gebruiker
su - django
4. PostgreSQL (Optioneel)
Als PostgreSQL is geïnstalleerd, stel de DB en gebruiker in (voorbeeld):
sudo -u postgres psql
CREATE DATABASE <db>;
CREATE USER <user> WITH PASSWORD <password>;
GRANT ALL PRIVILEGES ON DATABASE <db> TO <user>;
q
Werk daarna bij settings.py DATABASES met host localhost, databasenaam, gebruiker en wachtwoord. Voer uit python manage.py migrate.
5. Je App Deployen
Een voorbeeld Flask-app is al actief en bereikbaar op: http://<server-ip
Om je eigen app te deployen:
- Navigeer naar je applicatiemap (of kloon een nieuw project):
cd~/django_app - (Optioneel) Vervang de standaard-app:
gitclone<your_repo_url> . - Activeer de virtuele omgeving:
sourcevenv/bin/activate - Installeer de benodigde pakketten:
pip install -r requirements.txt - Aanpassen
settings.py: instellenALLOWED_HOSTSnaar je domein/IP en zorg datSTATIC_ROOTbestaat. - Database migreren:
python manage.py migrate - Verzamel statische bestanden in
STATIC_ROOT:python manage.py collectstatic --noinput - Herstart Gunicorn om de wijzigingen toe te passen:
sudo systemctl restart gunicorn - Nginx opnieuw starten:
sudo systemctl restart nginx
6. Toegang tot Je App
Je Django-app is beschikbaar op: http://<server-ip
Nginx stuurt verzoeken via een Unix-socket door naar Gunicorn.
7. Poort of Domein Wijzigen?
Om het domein, de poort aan te passen of SSL toe te voegen:
- Bewerk de Nginx-siteconfiguratie:
sudo nano /etc/nginx/sites-available/gunicorn_django - Testconfiguratie:
sudo nginx -t - Nginx herladen:
sudo systemctl restart nginx
8. HTTPS Inschakelen (Optioneel)
Gebruik Certbot om HTTPS in te schakelen.
Certbot installeren:
sudo apt install certbot python3-certbot-nginx -y
Haal certificaten op en update Nginx automatisch:
sudo certbot --nginx -d example.com
Toets:
nginx -t && sudo systemctl reload nginx