Cara Menyiapkan Gunicorn untuk Melayani Aplikasi Web Python

Dalam artikel ini, kami akan menyediakan VPS untuk melayani aplikasi web Python dengan Gunicorn dan Nginx sebagai proksi terbalik. Kami menggunakan Nginx sebagai proksi terbalik dan bukannya berkhidmat dengan Gunicorn secara langsung untuk mengelakkan serangan DoS ke Gunicorn. Menggunakan Nginx juga menghasilkan prestasi yang lebih baik (dengan penyangga proksi), dan menghasilkan lebih banyak permintaan yang ditangani.

Bermula

Tutorial ini mengandaikan bahawa anda sudah mempunyai VM dengan Ubuntu 14.04 atau yang lebih baru dipasang, dikemas kini dan dilindungi.

  • Contoh Nginx kami akan dijalankan pada port HTTP 80 (tetapi anda boleh menaik taraf ke HTTPS dengan mudah).
  • Contoh aplikasi Python kami akan mendengar di port 8080. Port ini akan ditutup pada iptables untuk mengelakkan akses jauh.
  • Tutorial ini harus dijalankan pada distro lain dengan sedikit perubahan.

Memasang pip, virtualenv:

apt-get install python-pip python-virtualenv

Tutup port 8080. Gunicorn hanya dapat dicapai oleh Nginx.

iptables -A INPUT -p tcp --destination-port 8080 -j DROP

Buat folder baru dan konfigurasikan aplikasi kami. Kami akan menggunakan kerangka Flask.

mkdir /var/www-folder/
cd /var/www-folder/
virtualenv exampleapp
source exampleapp/bin/activate
cd exampleapp
pip install gunicorn
pip install flask

Buat fail aplikasi.

nano myapplication.py 

Tampalkan perkara berikut di dalam:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, Vultr!'

Ini akan menghasilkan halaman mudah yang bertuliskan "Hello, Vultr!" semasa seseorang mengakses halaman. Sekarang, mulakan Gunicorn. Ganti xdengan 2 kali bilangan teras CPU VM anda.

gunicorn -w x myapplication:app &

Pasang Nginx dan konfigurasikan proksi terbalik.

deactivate
apt-get install nginx
nano /etc/nginx/sites-enabled/default

Cari location / {baris dan ganti kandungan di dalam kurungan dengan kandungan berikut.

proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:8000/;

Konfigurasi ini memerintahkan Nginx untuk meneruskan beberapa maklumat (protokol HTTP, alamat IP jarak jauh) bersama dengan permintaan sebenarnya ke pelayan Gunicorn. Muat semula Nginx.

service nginx reload

Pada ketika ini, aplikasi Gunicorn anda telah dikonfigurasi dengan betul. Anda boleh mengaksesnya menggunakan penyemak imbas web di http://your-vps-ip/.



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut