Nginx

Cara menggunakan Nginx dengan Flask.

Cara menggunakan Nginx dengan Flask.
Python adalah bahasa pemrograman yang hebat, mudah dipelajari, dan sangat kuat, dan dengan kerangka kerja seperti Django dan Flask, kita dapat menggunakannya untuk membuat aplikasi web lengkap. Setelah kami membuat aplikasi web menggunakan perpustakaan dan kerangka kerja seperti Flask, kami perlu meng-host-nya di server dan mengeksposnya ke publik. Tutorial ini membahas cara meng-host aplikasi web Anda di server yang menjalankan Nginx menggunakan Gunicorn. Sebelum kita mulai dengan Flask dan Gunicorn, pastikan Anda memenuhi persyaratan berikut:

Menyiapkan Server

Sekarang mari kita mulai mengatur lingkungan server yang akan kita gunakan untuk meng-host server kita. Tutorial ini menggunakan Server Ubuntu. Mulailah dengan memperbarui repositori dan menginstal Python3 dan Pip.

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install python3 python3-pip -y

Selanjutnya, kita perlu membuat direktori untuk menyimpan proyek.

sudo mkdir /var/www/aplikasi
cd /var/www/aplikasi

Ubah kepemilikan dan izin direktori:

sudo chown -R www-data:www-data /var/www/application/

Selanjutnya, instal paket menggunakan apt (flask dan Gunicorn)

sudo apt-get install python3-flask python3-gunicorn

Mari kita lanjutkan untuk menginisialisasi aplikasi labu flask. Mulailah dengan membuat main.py-memegang aplikasi-dan wsgi.py, yang akan menjalankan aplikasi.

sudo sentuh utama.py wsgi.py

Mengedit utama.py dan atur aplikasi Flask Anda dan semua rute. Karena tutorial ini bukan panduan Flask, kami akan menyiapkan rute dasar dan pesan hello world.

dari labu impor Flask
aplikasi = Labu(__nama__)
@aplikasi.rute("/")
def rumah():
kembali "

Nginx & Gunicorn

"

Edit wsgi.py dan tambahkan kode untuk mengimpor aplikasi, dan jalankan sebagai:

dari aplikasi impor utama
jika __name__ == "__main__":
aplikasi.jalankan(debug=Benar)

Terakhir, uji apakah sudah aktif dan berjalan dengan memanggil flask sebagai:

$ menjalankan labu
* Lingkungan: produksi
PERINGATAN: Ini adalah server pengembangan. Jangan menggunakannya dalam penyebaran produksi.
Gunakan server WSGI produksi sebagai gantinya.
* Mode debug: mati
* Berjalan di http://127.0.0.1:5000/ (Tekan CTRL+C untuk keluar)

Coba akses aplikasinya di http://localhost:5000.

Menyiapkan Gunicorn

Setelah aplikasi kita berhasil dijalankan, kita dapat menggunakan Gunicorn untuk menguji aplikasi menggunakan perintah:

$ sudo gunicorn --pekerja 5 wsgi:app
[2021-03-19 09:19:34 +0000] [14047] [INFO] Memulai gunicorn 20.0.4
[2021-03-19 09:19:34 +0000] [14047] [INFO] Mendengarkan di: http://127.0.0.1:8000 (14047)
[2021-03-19 09:19:34 +0000] [14047] [INFO] Menggunakan pekerja: sinkronisasi
[2021-03-19 09:19:34 +0000] [14049] [INFO] Boot pekerja dengan pid: 14049
[2021-03-19 09:19:34 +0000] [14050] [INFO] Boot pekerja dengan pid: 14050
[2021-03-19 09:19:34 +0000] [14051] [INFO] Boot pekerja dengan pid: 14051
[2021-03-19 09:19:34 +0000] [14052] [INFO] Boot pekerja dengan pid: 14052
[2021-03-19 09:19:35 +0000] [14053] [INFO] Boot pekerja dengan pid: 14053

Perintah di atas menjalankan aplikasi labu menggunakan Gunicorn menggunakan jumlah pekerja yang ditentukan. Kami kemudian memanggil file wsgi:app, yang merupakan file dan instance dari aplikasi yang akan dijalankan.

Setelah Anda menjalankan aplikasi menggunakan Gunicorn, tekan CTRL + C untuk menghentikan server dan mengatur Nginx.

Gunakan perintah di bawah ini untuk menginstal dan menjalankan Nginx.

sudo apt-get install nginx -y
sudo systemctl mulai nginx
sudo systemctl aktifkan nginx

Langkah selanjutnya adalah mengedit konfigurasi Nginx di direktori yang diaktifkan situs dan menambahkan blok server. Perhatikan konfigurasi berikut. Ubah aplikasi menjadi nama proyek Anda.

sudo nano /etc/nginx/sites-available/application.konf
server
mendengarkan 80;
aplikasi nama_server;
access_log /var/log/nginx/aplikasi.mengakses.catatan;
error_log /var/log/nginx/aplikasi.kesalahan.catatan;
lokasi /
sertakan proxy_params;
proxy_pass http://unix:/var/www/application/application.kaus kaki;

Lanjutkan untuk membuat tautan ke direktori yang mendukung situs untuk mengaktifkan situs web.

sudo ln -s /etc/nginx/sites-available/application.conf /etc/nginx/sites-enabled/

Sekarang restart layanan Nginx sebagai:

sudo systemctl restart nginx

Selanjutnya, kita perlu membuat file unit systemd untuk melayani aplikasi.

sudo nano /etc/systemd/system/application.layanan
[Satuan]
Deskripsi=aplikasi.service - Aplikasi Flask dijalankan dengan Gunicorn.
Setelah = jaringan.target
[Layanan]
Pengguna=www-data
Grup=www-data
WorkingDirectory=/var/www/application/
ExecStart=/usr/bin/gunicorn --workers 3 --bind unix:/var/www/application.kaus kaki wsgi:app
[Install]
WantedBy=multi-pengguna.target

Terakhir, simpan file unit, lalu aktifkan dan muat ulang daemon.

sudo systemctl restart aplikasi.layanan
sudo systemctl daemon-reload

Sekarang Anda dapat mengakses aplikasi menggunakan alamat IP atau alamat yang ditentukan dalam file konfigurasi nginx. Anda mungkin perlu menambahkannya ke file host.

ikal http://aplikasi
HTTP/1.1 200 Oke
Server: Werkzeug/0.16.1 Python/3.8.5)
Tanggal: Jum, 19 Mar 2021 10:00:39 GMT
Tipe-Konten: teks/html
Konten-Panjang: 25
Terakhir Diubah: Jum, 19 Mar 2021 09:22:47 GMT

Kesimpulan

Tutorial ini membahas cara mengatur aplikasi Python Flask dan menyajikannya melalui Nginx menggunakan Gunicorn. Pertimbangkan dokumentasi individu untuk mempelajari lebih lanjut tentang layanan yang dibahas dalam tutorial ini.

Tutorial OpenTTD
OpenTTD adalah salah satu game simulasi bisnis paling populer di luar sana. Dalam game ini, Anda perlu membuat bisnis transportasi yang luar biasa. Na...
SuperTuxKart untuk Linux
SuperTuxKart adalah judul hebat yang dirancang untuk memberi Anda pengalaman Mario Kart gratis di sistem Linux Anda. Ini cukup menantang dan menyenang...
Pertempuran untuk Tutorial Westnoth
The Battle for Wesnoth adalah salah satu game strategi open source terpopuler yang bisa kamu mainkan saat ini. Tidak hanya game ini telah dikembangkan...