Cách sử dụng FastCGI với cFos Personal Net
FastCGI là một cải tiến so với CGI: Chạy một kịch bản CGI bình thường có rất nhiều chi phí. Một quy trình mới phải được tạo, trình thông dịch tập lệnh phải được bắt đầu và tập lệnh ít nhất phải được phân tích cú pháp.
FastCGI loại bỏ phần lớn chi phí này. Tập lệnh hoặc ứng dụng FastCGI chỉ được khởi động một lần và sau đó giao tiếp với máy chủ web bằng các tin nhắn FastCGI đặc biệt. Tập lệnh HTTP yêu cầu tập lệnh này và phản hồi của họ sử dụng các thông báo này. Quá trình ở lại vô thời hạn trong bộ nhớ và tập lệnh chỉ phải được phân tích cú pháp một lần. Điều này cho phép thực thi tập lệnh với chi phí thấp hơn nhiều.
Đối với cFos Personal Net, điều này cũng cho phép bạn sử dụng Node.js cho các chương trình Javascript (và với nó là một trong những công cụ Javascript nhanh nhất).
Dưới đây là các bước để cài đặt FastCGI với Node.js cho cFos Personal Net:
Cài đặt và chạy cFos Personal Net
Cài đặt Node.js
Cài đặt mô-đun nút node-fastcgi bằng cách chạy "npm i node-fastcgi" (hoặc "npm i -global node-fastcgi")
Sửa đổi tập lệnh mẫu fcgi_test.fcgi trong thư mục cFos Personal Net pub/fcgi
Mở http://localhost/pub/fcgi/fcgi_test.fcgi trong trình duyệt của chúng tôi
cFos Personal Net hỗ trợ vai trò "Responder" của FastCGI, tức là ứng dụng / tập lệnh FastCGI được gọi để xử lý yêu cầu HTTP. Nó chỉ hỗ trợ cấu hình trong đó một tập lệnh FastCGI cho mỗi tên tệp được yêu cầu được bắt đầu và các yêu cầu được ghép trên một kết nối. Vì các tập lệnh FastCGI hoạt động rất giống với các tập lệnh CGI thông thường, chúng thường sử dụng STDIN / STDOUT để liên lạc với máy chủ web. Do đó cấu hình này có ý nghĩa nhất.
Để dễ dàng phát triển các tập lệnh FastCGI của riêng bạn (ví dụ với Node.js), các lỗi tập lệnh được chuyển hướng đến trình duyệt. Ngoài ra: Khi phát triển tập lệnh, bạn không cần khởi động lại máy chủ web khi bạn thay đổi tập lệnh. Chỉ cần giết quá trình của trình thông dịch kịch bản. cFos Personal Net sẽ tải lại (phiên bản mới) của tập lệnh khi cần trong yêu cầu tiếp theo.
Tài liệu tham khảo
Đặc điểm kỹ thuật FastCGI
https://github.com/fast-cgi/spec/blob/master/spec.md
FastCGI trên Wikipedia
https://en.wikipedia.org/wiki/FastCGI
Node.js
https://nodejs.org/en/
Mô-đun Node.js cho FastCGI
https://www.npmjs.com/package/node-fastcgi
Tài liệu về các tính năng kịch bản FastCGI của cFos Personal Net