วิธีการติดตั้ง Gunicorn เพื่อรับใช้เว็บแอพพลิเคชั่นของ Python

ในบทความนี้เราจะตั้งค่า VPS ให้บริการเว็บแอพพลิเคชั่น Python ด้วย Gunicorn และ Nginx เป็น reverse proxy เราใช้ Nginx เป็น reverse proxy แทนที่จะให้บริการกับ Gunicorn โดยตรงเพื่อป้องกันการโจมตี DoS บน Gunicorn การใช้ Nginx ยังส่งผลให้มีประสิทธิภาพที่ดีขึ้น (ด้วยการบัฟเฟอร์พร็อกซี) และส่งผลให้มีการร้องขอมากกว่า

เริ่มต้นใช้งาน

บทช่วยสอนนี้สมมติว่าคุณมี VM พร้อม Ubuntu 14.04 หรือติดตั้งใหม่กว่าอัพเดตและปลอดภัยแล้ว

  • อินสแตนซ์ Nginx ของเราจะทำงานบนพอร์ต HTTP 80 (แต่คุณสามารถอัปเกรดเป็น HTTPS ได้อย่างง่ายดาย)
  • ตัวอย่างแอพ Python ของเราจะฟังที่พอร์ต 8080 พอร์ตนี้จะถูกปิดบน iptables เพื่อป้องกันการเข้าถึงจากระยะไกล
  • บทช่วยสอนนี้ควรทำงานกับ distros อื่น ๆ ที่มีการเปลี่ยนแปลงน้อยที่สุด

ติดตั้งpip, virtualenv:

apt-get install python-pip python-virtualenv

ปิดพอร์ต 8080 Gunicorn จะเข้าถึงได้โดย Nginx เท่านั้น

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

สร้างโฟลเดอร์ใหม่และกำหนดค่าแอปพลิเคชันของเรา เราจะใช้ Flask framework

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

สร้างไฟล์แอปพลิเคชัน

nano myapplication.py 

วางภายในต่อไปนี้:

from flask import Flask
app = Flask(__name__)

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

นี่จะสร้างหน้าง่าย ๆ ที่พูดว่า "Hello, Vultr!" เมื่อมีคนเข้าถึงหน้านี้ ตอนนี้เริ่ม Gunicorn แทนที่xด้วยจำนวนแกน CPU ของ VM ของคุณ 2 เท่า

gunicorn -w x myapplication:app &

ติดตั้ง Nginx และกำหนดค่า reverse proxy

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

ค้นหาlocation / {บรรทัดและแทนที่เนื้อหาภายในวงเล็บด้วยเนื้อหาต่อไปนี้

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/;

การกำหนดค่านี้สั่งให้ Nginx ส่งต่อข้อมูลบางอย่าง (โปรโตคอล HTTP, ที่อยู่ IP ระยะไกล) พร้อมกับคำขอจริงไปยังเซิร์ฟเวอร์ Gunicorn โหลดซ้ำ Nginx

service nginx reload

ณ จุดนี้แอปพลิเคชั่น Gunicorn ของคุณได้รับการกำหนดค่าอย่างเหมาะสม http://your-vps-ip/คุณสามารถเข้าถึงได้โดยใช้เว็บเบราเซอร์ที่

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true