1. Hubungkan ke Server Anda
Gunakan SSH untuk terhubung ke server Anda:
ssh root@<server-ip>
2. Akses Kredensial Login
Pengguna khusus bernama fastapi telah dibuat untuk mengelola aplikasi Anda.
Anda dapat menemukan kredensial login di file 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 dan lingkungan FastAPI Anda.
4. Struktur Proyek
Berikut tata letak 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
Arahkan 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:
- Log Uvicorn:
/var/log/uvicorn/ - Log kesalahan Nginx:
/var/log/nginx/error.log - Log 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 tersedia 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 memulai ulang jika gagal.
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.