كيفية إعداد Gunicorn لخدمة تطبيقات الويب Python

في هذه المقالة ، سنقوم بإعداد VPS لخدمة تطبيقات الويب Python مع Gunicorn و Nginx كوكيل عكسي. نستخدم Nginx كوكيل عكسي بدلاً من العرض مع Gunicorn مباشرة لمنع هجمات DoS على Gunicorn. يؤدي استخدام Nginx أيضًا إلى أداء أفضل (مع التخزين المؤقت للخادم الوكيل) ، ويؤدي إلى معالجة المزيد من الطلبات.

ابدء

يفترض هذا البرنامج التعليمي أن لديك بالفعل VM مع Ubuntu 14.04 أو أحدث مثبتًا ومحدثًا ومؤمنًا.

  • سيتم تشغيل مثيل Nginx على منفذ HTTP 80 (ولكن يمكنك الترقية بسهولة إلى HTTPS).
  • يستمع مثالنا على تطبيق Python على المنفذ 8080. سيتم إغلاق هذا المنفذ على iptables لمنع الوصول عن بعد.
  • يجب أن يعمل هذا البرنامج التعليمي على توزيعات أخرى مع تغييرات طفيفة.

تثبيت pip، virtualenv:

apt-get install python-pip python-virtualenv

إغلاق المنفذ 8080. لن يمكن الوصول إلى Gunicorn إلا بواسطة Nginx.

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

قم بإنشاء مجلد جديد وتكوين تطبيقنا. سنستخدم إطار القارورة.

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!'

سيؤدي هذا إلى إنشاء صفحة بسيطة تقول "مرحبًا ، Vultr!" عندما يصل شخص ما إلى الصفحة. الآن ، ابدأ Gunicorn. استبدل xضعف عدد نوى وحدة المعالجة المركزية لجهاز VM الخاص بك.

gunicorn -w x myapplication:app &

تثبيت Nginx وتكوين الوكيل العكسي.

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



Leave a Comment

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد