كيفية استخدام FastCGI مع cFos Personal Net
FastCGI هو تحسين على CGI: تشغيل برنامج نصي CGI عادي يحتوي على الكثير من الحمل. يجب إنشاء عملية جديدة ، ويجب بدء تشغيل مترجم البرنامج النصي ويجب تحليل البرنامج النصي على الأقل.
FastCGI يزيل الكثير من هذا الحمل. يتم تشغيل البرنامج النصي أو تطبيق FastCGI مرة واحدة فقط ثم يتصل بخادم الويب عن طريق رسائل FastCGI الخاصة. طلبات النص المتشعب لهذا البرنامج النصي وردودهم استخدام هذه الرسائل. تبقى العملية إلى أجل غير مسمى في الذاكرة ويجب تحليل النص مرة واحدة فقط. هذا يسمح بتنفيذ البرنامج النصي مع أقل بكثير الحمل.
بالنسبة إلى cFos Personal Net ، يتيح لك هذا أيضًا استخدام Node.js لبرامج Javascript (ومعها أحد أسرع محركات Javascript).
فيما يلي خطوات تثبيت FastCGI مع Node.js لـ cFos Personal Net:
تثبيت وتشغيل cFos Personal Net
تثبيت Node.js
تثبيت عقدة عقدة fastcgi الوحدة النمطية عن طريق تشغيل "npm i node-fastcgi" (أو "npm i -global node-fastcgi")
تعديل عينة البرنامج النصي fcgi_test.fcgi في دليل cFos Personal Net pub/fcgi
افتح http://localhost/pub/fcgi/fcgi_test.fcgi في http://localhost/pub/fcgi/fcgi_test.fcgi
يدعم cFos Personal Net دور FastCGI "Responder" ، أي يتم استدعاء التطبيق / البرنامج النصي FastCGI لمعالجة طلب HTTP. يعتمد فقط التكوين حيث يتم تشغيل برنامج نصي FastCGI لكل اسم ملف مطلوب وتعدد الطلبات عبر اتصال واحد. نظرًا لأن نصوص FastCGI تعمل بشكل مشابه تمامًا لنصوص CGI العادية ، فإنها تستخدم STDIN / STDOUT عادةً للاتصال بخادم الويب. لذلك هذا التكوين يجعل أكثر منطقية.
لتسهيل تطوير البرامج النصية الخاصة بـ FastCGI (على سبيل المثال مع Node.js) ، تتم إعادة توجيه أخطاء البرنامج النصي إلى المستعرض. أيضًا: عند تطوير البرنامج النصي ، لن تحتاج إلى إعادة تشغيل خادم الويب عند تغيير البرنامج النصي. مجرد قتل عملية مترجم النصي. سيقوم cFos Personal Net بإعادة تحميل (الإصدار الجديد من) البرنامج النصي عند الحاجة في الطلب التالي.
المراجع
مواصفات FastCGI
https://github.com/fast-cgi/spec/blob/master/spec.md
FastCGI على ويكيبيديا
https://en.wikipedia.org/wiki/FastCGI
نود.جي إس
https://nodejs.org/en/
وحدة Node.js ل FastCGI
https://www.npmjs.com/package/node-fastcgi
توثيق ميزات البرمجة النصية FastCGI لشبكة cFos Personal Net