Cara Deploy Flask di Server dengan mudah – pesonainformatika.com, sebuah website agar bisa diakses setiap orang tentu kita memerlukan sebuah server, untuk menempatkan website yang telah kita buat, pada kesempatan kali ini kita akan belajar bagaimana cara deploy sebuah website ke sebuah server, website yang dibuat menggunakan bahasa pemrograman python menggunakan framework flask
persiapan yang harus dilakukan
ada beberapa persiapan yang harus kita lakukan sebelum melakukan deploy seperti instalasi aplikasi yang dibutuhkan dan instalasi requirement python package yang dibutuhkan, untuk website yang akan kita buat, berikut langkah langkahnya
install paket aplikasi yang dibutuhkan
terdapat paket aplikasi yang diperlukan untuk mendeploy sebuah website yang kita buat menggunakan flask, saya asumsikan sudah mempunyai vps atau bisa praktek menggunakan teknologi virtualisasi seperti virtualbox, VMWare atau yang lainya pada meteri kali ini kita akan menggunakan komputer lokal yang sudah mempunyai/terinstall sistem operasi linux, install aplikasi yang diperlukan menggunakan perintah
sudo apt-get install nginx supervisor python3-pip python3-virtualenv
jika sudah terinstall outputnya seperti ini
langkah selanjutnya kita membuat virtual envitontment untuk menginstall modul yang dibutuhkan untuk website kita
Membuat Virtual Environtment
untuk membuat virtual environtment kita menggunakan aplikasi python3-virtualenv untuk membuatnya, caranya cukup mudah kita bisa menggunakan perintah
virtualenv -p python3 venv
dimana format pembuatanya seperti ini
virtualenv -p python3 <nama_virtual_environtment>
dalam kasus ini kita membuat virtual environtment dengan nama venv
setelah terinstal kita perlu mengaktifkan virtual environtment yang tadi telah kita buat, caranya cukup dengan perintah
source venv/bin/activate
setelah instalasi dan mengaktifkan virtualenv kita instal modul yang dibutuhkan untuk aplikasi kita
Instalasi Aplikasi Flask
pada studi kasus kali ini kita akan membuat aplikasi flask sederhana untuk kita jadikan sample dan contoh untuk mendeploy
kita instal dulu modul yang dibutuhkan
pip install flask gunicorn
kita membuat aplikasi sederhana menggunakan flask seperti ini
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
simpan dalam nama app.py
setelah itu kita setting gunicorn
Setting Gunicorn
langkah ini kita setting gunicorn untuk menjalankan aplikasi python agar bisa berjalan di localhost
pada contoh ini kita akan menjalankan aplikasi flask dengan alamat port 8001 bisa menjalankan dengan perintah ini
gunicorn app:app -b localhost:8001 &
Setup Supervisor
kita akan menggunakan untuk memanajemen gunicorn agar bisa dimonitoring oleh pemilik dan admin website tersebut
kita buat konfigurasi di /etc/supervisor/conf.d/ misal namanya flaskapp.conf lalu isinya seperti ini
[program:flaskapp]
command=/var/www/0-env/flaskenv/bin/gunicorn --bind localhost:8000 -w 4 app:app
directory=/var/www/flaskapp
user=pery
autostart=true
autorestart=true
kemudian aktivkan konfigurasi dengan perintah
sudo supervisorctl reread
sudo supervisorctl restart
Setup Nginx
kita perlu konfigurasi reverse proxy menggunakan nginx agar aplikasi dengan port 8001 tadi bisa berjalan di port 80, caranya adalah membuat virtualhost di /etc/nginx/conf.d/ misal dengan nama file flaskapp.conf kemudian isi seperti ini
server {
listen 80;
server_name localhost;
location / {
proxy_pass http://127.0.0.1:8000;
}
}
kemudian restart nginx dengan perintah
sudo service nginx restart
maka aplikasi yang tadi dibuat sudah terdeploy dan berjalan di server menggunakan nginx dan gunicorn
semoga bermanfaat dan mencoba, ikuti studi kasus lainya di pesonainformatika ada beberapa bahasa pemrograman lainya seperti Java, Python C++
people who use linux and people who are friendly