English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Flask FastCGI

FastCGI هو خيار آخر لتثبيت تطبيق Flask على خادم الويب (مثل nginix، lighttpd و Cherokee).

تكوين FastCGI

أولاً، يجب إنشاء ملف خادم FastCGI، مثل: yourapplication.fcgiC .

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : ar.oldtoolbag.com
# Date : 2020-08-08
from flup.server.fcgi import WSGIServer
 from yourapplication import app
 if __name__ == '__main__':
     WSGIServer(app).run()

يحتاج nginx و إصدارات lighttpd القديمة إلى نقل سوكيت واضح للتواصل مع خادم FastCGI. يجب نقل المسار إلى سوكيت WSGIServer.

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : ar.oldtoolbag.com
# Date : 2020-08-08
WSGIServer(application, bindAddress = '/path/to/fcgi.sock').run()

تكوين Apache

للتركيب الأساسي لApache .fcgi سيظهر الملف في عنوان URL تطبيقك، مثل http://example.com/yourapplication.fcgi/hello/. هناك عدة طرق لتكوين التطبيق بحيث لا يظهر yourapplication.fcgi في URL.

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : ar.oldtoolbag.com
# Date : 2020-08-08
<VirtualHost *>
    اسم الخادم example.com
    ScriptAlias / /path/to/yourapplication.fcgi/
 </VirtualHost>

تكوين lighttpd

إعدادات lighttpd الأساسية تبدو هكذا -

# Filename : example.py
# Copyright : 2020 By w3codebox
# Author by : ar.oldtoolbag.com
# Date : 2020-08-08
fastcgi.server = ("/yourapplication.fcgi" => (
    "socket" => "/tmp/yourapplication-fcgi.sock",
    "bin-path" => "/var/www/yourapplication/yourapplication.fcgi",
    "check-local" => "disable",
    "max-procs" => 1
 ))
 alias.url = (
    "/static/" => "/path/to/your/static"
 )
 url.rewrite-once = (
    "^(/static($|/.*))$" => "$1",
    "^(/.*)$" => "/yourapplication.fcgi$1"
 )

تذكر تفعيل FastCGI، الأ别名 والمحولات. هذا التكوين سيربط التطبيق بـ /yourapplication.