- Server dengan akses SSH
- Server web Nginx berjalan di server (instalasi tertutup)
- Python
- Anda adalah pengguna sudo.
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 updatesudo apt-get upgrade -y
sudo apt-get install python3 python3-pip -y
Selanjutnya, kita perlu membuat direktori untuk menyimpan proyek.
sudo mkdir /var/www/aplikasicd /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-gunicornMari 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.pyMengedit 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 Flaskaplikasi = Labu(__nama__)
@aplikasi.rute("/")
def rumah():
kembali "
Nginx & Gunicorn
"Edit wsgi.py dan tambahkan kode untuk mengimpor aplikasi, dan jalankan sebagai:
dari aplikasi impor utamajika __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 -ysudo 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.konfserver
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 nginxSelanjutnya, 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.layanansudo 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://aplikasiHTTP/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.