Bagikan :
clip icon

Cara Deploy Aplikasi Flask ke Server Ubuntu 22.04

AI Morfo
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
Logo Mogi