1. Sambungkan ke Server Anda
Gunakan SSH untuk terhubung ke server Anda:
ssh root@<server-ip>
2. Akses Kredensial Masuk
Pengguna khusus bernama fastapi telah dibuat untuk mengelola aplikasi Anda.
Anda dapat menemukan kredensial login di berkas ini: /root/.fastapi-creds
Untuk melihatnya, jalankan:
cat /root/.fastapi-creds
Jika Anda ingin mengubah kata sandi, gunakan:
passwd fastapi
3. Beralih ke Pengguna Aplikasi
Beralih ke akun pengguna FastAPI untuk mengelola aplikasi Anda:
su - flask
Akun ini berisi proyek FastAPI dan lingkungan Anda.
4. Struktur Proyek
Berikut adalah struktur direktori default:
/home/fastapi/fastapi_app/
├── main.py → Your main FastAPI application file
├── venv/ → Virtual environment
└── __pycache__/ → Compiled Python files (auto-generated)
5. Mengelola Aplikasi Anda
Navigasi ke direktori aplikasi:
cd ~/fastapi_app
Aktifkan lingkungan virtual:
source venv/bin/activate
Edit file aplikasi utama:
nano main.py
Mulai ulang layanan FastAPI untuk menerapkan perubahan:
sudo systemctl restart uvicorn-fastapi
6. Melihat Log
Anda dapat memeriksa log untuk Uvicorn dan Nginx sebagai berikut:
- Catatan Uvicorn:
/var/log/uvicorn/ - Catatan kesalahan Nginx:
/var/log/nginx/error.log - Catatan akses Nginx:
/var/log/nginx/access.log
Untuk melihatnya:
sudo tail -f /var/log/uvicorn/*
7. Mengakses API Anda
Setelah layanan berjalan, aplikasi FastAPI Anda dapat diakses di browser Anda di: http://<server-ip>
Nginx secara otomatis meneruskan permintaan HTTP ke soket Uvicorn yang menjalankan aplikasi FastAPI Anda.
8. Mengubah Domain atau Port
Jika Anda ingin memperbarui nama server, port, atau domain:
- Edit konfigurasi situs Nginx:
sudo nano /etc/nginx/sites-available/uvicorn-fastapi - Konfigurasi pengujian:
sudo nginx -t - Muat ulang Nginx:
sudo systemctl restart nginx
9. Layanan Uvicorn
Aplikasi FastAPI berjalan melalui layanan systemd bernama uvicorn-fastapi.
Ini menggunakan /home/fastapi/fastapi_app/main:app sebagai titik masuk aplikasi dan secara otomatis restart jika terjadi kegagalan.
Untuk mengelola layanan:
systemctl status uvicorn-fastapi
systemctl restart uvicorn-fastapi
Untuk mengedit layanan:
sudo vim /etc/systemd/system/uvicorn-fastapi.service
sudo systemctl daemon-reload
sudo systemctl restart uvicorn-fastapi
sudo systemctl status uvicorn-fastapi
10. Aktifkan HTTPS (Opsional)
Gunakan Certbot untuk mengaktifkan HTTPS.