Bagikan :
Cara Deploy Aplikasi Flask ke Server Ubuntu 22.04
foto : Morfogenesis Teknologi Indonesia Creative Team
Pengantar
Flask adalah mikroframework Python yang ringan namun tangguh untuk membangun aplikasi web. Panduan ini akan menuntun Anda men-deploy aplikasi Flask ke server Ubuntu 22.04 agar dapat diakses secara daring.Prasyarat
1. Server Ubuntu 22.04 dengan akses root
2. Nama domain yang sudah diarahkan ke alamat IP server
3. Aplikasi Flask sederhana yang siap diunggah
Langkah 1: Update Sistem
Hubungkan ke server melalui SSH lalu jalankan:
sudo apt update && sudo apt upgrade -y
Langkah 2: Instalasi Python & Virtual Environment
Flask berjalan di Python. Instalasi dilakukan dengan:
sudo apt install python3 python3-pip python3-venv -y
Buat virtual environment di direktori proyek:
python3 -m venv venv
source venv/bin/activate
Langkah 3: Install Flask & Dependensi
Dalam virtual environment, pasang Flask dan pustaka lain yang dibutuhkan:
pip install flask gunicorn
Simpan daftar dependensi:
pip freeze > requirements.txt
Langkah 4: Konfigurasi Aplikasi Flask
Contoh struktur direktori:
/home/user/myapp/
├── app.py
├── requirements.txt
└── templates/
Contoh kode app.py:
from flask import Flask
app = Flask(__name__)
@app.route('/)
def home():
return 'Halo dari Flask!'
Langkah 5: Uji Jalankan dengan Gunicorn
Gunicorn adalah WSGI server produksi. Jalankan:
gunicorn --bind 0.0.0.0:8000 app:app
Buka browser, akses http://ip-server:8000. Jika muncul pesan Halo, proses berhasil.
Langkah 6: Buat Layanan Systemd
Supaya aplikasi berjalan otomatis, buat berkas layanan:
sudo nano /etc/systemd/system/myapp.service
Isi berkas:
[Unit]
Description=Flask App with Gunicorn
After=network.target
[Service]
User=user
Group=www-data
WorkingDirectory=/home/user/myapp
Environment=PATH=/home/user/myapp/venv/bin
ExecStart=/home/user/myapp/venv/bin/gunicorn --workers 3 --bind unix:myapp.sock -m 007 wsgi:app
[Install]
WantedBy=multi-user.target
Muat ulang daemon dan aktifkan layanan:
sudo systemctl daemon-reload
sudo systemctl enable myapp
sudo systemctl start myapp
Langkah 7: Instalasi & Konfigurasi Nginx
Nginx akan menjadi reverse proxy. Instal:
sudo apt install nginx -y
Buat blok server baru:
sudo nano /etc/nginx/sites-available/myapp
Isi konfigurasi:
server {
listen 80;
server_name namadomain.com;
location / {
include proxy_params;
proxy_pass http://unix:/home/user/myapp/myapp.sock;
}
}Aktifkan situs:
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled
sudo nginx -t
sudo systemctl restart nginx
Langkah 8: SSL Otomatis dengan Certbot
Instal Certbot plugin Nginx:
sudo apt install certbot python3-certbot-nginx -y
Dapatkan sertifikat:
sudo certbot --nginx -d namadomain.com
Sertifikat akan otomatis diperbarui.
Penutup
Aplikasi Flask kini dapat diakses secara aman melalui HTTPS. Untuk update kode, cukup tarik repositori terbaru, restart layanan myapp, dan pengunjung akan langsung melihat perubahan.Iklan Butuh bantuan teknis? Morfotech.id siap membantu sebagai developer aplikasi profesional. Hubungi WhatsApp +62 811-2288-8001 atau kunjungi https://morfotech.id untuk informasi lebih lanjut.
Sumber:
AI Morfotech - Morfogenesis Teknologi Indonesia AI Team
Jumat, September 12, 2025 3:00 AM