1. Sambungkan ke Server Anda melalui SSH
ssh root@<server-ip>
2. Temukan Kredensial Masuk
- Pengguna default:
django - Kata sandi disimpan di:
/root/.cloudzy-creds
(Opsional) Ubah kata sandi default: passwd django
3. Beralih ke Pengguna Aplikasi
su - django
4. PostgreSQL (Opsional)
Jika PostgreSQL telah diinstal, konfigurasikan database dan pengguna (contoh):
sudo -u postgres psql
CREATE DATABASE <db>;
CREATE USER <user> WITH PASSWORD <password>;
GRANT ALL PRIVILEGES ON DATABASE <db> TO <user>;
q
Kemudian perbarui settings.py DATABASES dengan tuan rumah localhostNama database, pengguna, dan kata sandi. Jalankan python manage.py migrate.
5. Deploy Aplikasi Anda
Sebuah aplikasi Flask contoh sudah berjalan dan dapat diakses di: http://<server-ip
Untuk menginstal aplikasi Anda sendiri:
- Navigasi ke direktori aplikasi Anda (atau kloning proyek baru):
cd~/django_app - (Opsional) Ganti aplikasi default:
gitclone<your_repo_url> . - Aktifkan lingkungan virtual:
sourcevenv/bin/activate - Instal paket yang diperlukan:
pip install -r requirements.txt - Sesuaikan
settings.py: aturALLOWED_HOSTSke domain/IP Anda dan pastikanSTATIC_ROOTada. - Migrasi database:
python manage.py migrate - Kumpulkan muatan statis ke dalam
STATIC_ROOT:python manage.py collectstatic --noinput - Mulai ulang Gunicorn untuk menerapkan perubahan:
sudo systemctl restart gunicorn - Mulai ulang Nginx:
sudo systemctl restart nginx
6. Akses Aplikasi Anda
Your Django app is available at: http://<server-ip
Nginx meneruskan permintaan ke Gunicorn melalui soket Unix.
7. Ubah Port atau Domain?
Untuk menyesuaikan domain, port, atau menambahkan SSL:
- Edit konfigurasi situs Nginx:
sudo nano /etc/nginx/sites-available/gunicorn_django - Konfigurasi pengujian:
sudo nginx -t - Muat ulang Nginx:
sudo systemctl restart nginx
8. Aktifkan HTTPS (Opsional)
Gunakan Certbot untuk mengaktifkan HTTPS.
Instal Certbot:
sudo apt install certbot python3-certbot-nginx -y
Dapatkan sertifikat & perbarui Nginx secara otomatis:
sudo certbot --nginx -d example.com
Uji:
nginx -t && sudo systemctl reload nginx