تحويل الوظائف والأوامر إلى خدمات الويب
للحصول على مثال في العالم الحقيقي ، راجع تحويل وظيفة Python إلى خدمة ويب.
webify هو خادم CGI أساسي للغاية يقوم بإعادة توجيه جميع الطلبات إلى برنامج نصي واحد. هدف التصميم هو أن يكون صفرًا قدر الإمكان.
يستدعي webify البرنامج النصي الخاص بك ويكتب هيئة الطلب إلى العملية "stdin". ثم يتم تمرير stdout إلى العميل كهيئة استجابة HTTP.
إذا قام البرنامج النصي بإرجاع رمز خروج غير صفري ، فسيكون رمز حالة استجابة HTTP 500.
webify متاح من صفحة إصدارات المشروع.
على MacOS ، يمكن أيضًا تثبيته عبر Macports:
sudo port install webify # Make a web service out of `wc` to count the characters in the request body.
$ webify wc -c
2020/08/25 12:42:32 listening on :8080, proxying to wc -c
...
$ curl -d ' This is a really long sentence ' http://localhost:8080
30صورة Docker الرسمية هي BeefSack/Webify.
يمكن تكوينه باستخدام متغيرات البيئة التالية:
ADDR - العنوان للاستماع داخل الحاوية ، الافتراضيات إلى :80SCRIPT - الأمر الذي يجب تنفيذه ، الافتراضيات إلى /script $ docker run -it --rm -p 8080:80 -v /path/to/my/script:/script beefsack/webify:latest
2020/08/25 04:27:46 listening on :80, proxying to /script
...
$ curl -d 'Some data' http://localhost:8080
إنشاء Dockerfile مثل ما يلي:
FROM beefsack/webify:latest
COPY myscript /script
طلبات السحب موضع ترحيب. للتغييرات الرئيسية ، يرجى فتح مشكلة أولاً لمناقشة ما تريد تغييره.
يرجى التأكد من تحديث الاختبارات حسب الاقتضاء.
معهد ماساتشوستس للتكنولوجيا