Інтерфейс FastCGI — клієнт-серверний протокол взаємодії вебсервера та програми, подальший розвиток технології CGI. У порівнянні з CGI є продуктивнішим і безпечнішим.
FastCGI усуває безліч обмежень CGI-програм. Проблема CGI-програм у тому, що вони перезапускаються вебсервером при кожному запиті, що призводить до зниження продуктивності.
FastCGI прибирає це обмеження, зберігаючи процес запущеним і передаючи запити цьому постійно запущеному процесу. Це дозволяє не витрачати час на запуск нових процесів.
У той час, як CGI-програми взаємодіють з сервером через STDIN і STDOUT запущеного CGI-процесу, FastCGI-процеси використовують або (TCP/IP) для зв'язку з сервером. Це дає наступну важливу перевагу над звичайними CGI-програмами: FastCGI-програми можуть бути запущені не тільки на цьому ж сервері, але і будь-де в мережі. Також можлива обробка запитів кількома FastCGI-процесами, що працюють паралельно.
Вебсервер lighttpd включає в себе внутрішній розподільник навантаження FastCGI, який може використовуватися для розподілу відразу на кілька FastCGI-серверів. На відміну від інших рішень, в кластері повинен знаходитися тільки FastCGI-процес, а не цілий вебсервер. Це дозволяє використовувати FastCGI-процесу більше ресурсів, що характерно, наприклад, для load-balancer+apache + .
При порівнянні php-FastCGI з apache + , необхідно звертати увагу на те, що FastCGI забезпечує додаткову безпеку, як, наприклад, запуск FastCGI процесу під користувачем, відмінним від користувача web-сервера, а також може знаходитися в chroot-оточенні, відмінному від chroot-оточення вебсервера.
При порівнянні perl-FastCGI з apache + mod_perl (1,2), крім вищевказаного, помітно, що для розділяється використання пам'яті між процесами, що реалізується в mod_perl через startup.pl, необхідний FastCGI — менеджер процесів, реалізований на Perl. Це реалізується модулем FCGI::ProcManager і надбудовою над ним, FCGI::Spawn.
Вебсервери з підтримкою FastCGI
- Apache HTTP-сервер (частково)
- Використовуються чужі модулі mod_fastcgi або mod_fcgid
- Мультиплексування запитів через одне з'єднання неможливо в цій архітектурі веб сервера Apache
-
- Підтримка ізольованою FastCGI сервера
- Lighttpd
- Microsoft IIS
- Nginx
- Підтримка групи серверів
- Web Server
- (і попередники)
Прив'язки FastCGI API в мовах програмування
FastCGI може бути використаний в будь-якій мові, що підтримує сокети. Існуючі API:
Примітки
- . Архів оригіналу за 8 лютого 2010. Процитовано 11 листопада 2009.
- . Архів оригіналу за 25 червня 2008. Процитовано 11 листопада 2009.
- . Архів оригіналу за 23 березня 2008. Процитовано 11 листопада 2009.
- . Архів оригіналу за 26 листопада 2007. Процитовано 11 листопада 2009.
Див. також
Джерела
- Налаштування FastCGI модуля для сервера nginx [ 6 березня 2010 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Interfejs FastCGI kliyent servernij protokol vzayemodiyi vebservera ta programi podalshij rozvitok tehnologiyi CGI U porivnyanni z CGI ye produktivnishim i bezpechnishim FastCGI usuvaye bezlich obmezhen CGI program Problema CGI program u tomu sho voni perezapuskayutsya vebserverom pri kozhnomu zapiti sho prizvodit do znizhennya produktivnosti FastCGI pribiraye ce obmezhennya zberigayuchi proces zapushenim i peredayuchi zapiti comu postijno zapushenomu procesu Ce dozvolyaye ne vitrachati chas na zapusk novih procesiv U toj chas yak CGI programi vzayemodiyut z serverom cherez STDIN i STDOUT zapushenogo CGI procesu FastCGI procesi vikoristovuyut abo TCP IP dlya zv yazku z serverom Ce daye nastupnu vazhlivu perevagu nad zvichajnimi CGI programami FastCGI programi mozhut buti zapusheni ne tilki na comu zh serveri ale i bud de v merezhi Takozh mozhliva obrobka zapitiv kilkoma FastCGI procesami sho pracyuyut paralelno Vebserver lighttpd vklyuchaye v sebe vnutrishnij rozpodilnik navantazhennya FastCGI yakij mozhe vikoristovuvatisya dlya rozpodilu vidrazu na kilka FastCGI serveriv Na vidminu vid inshih rishen v klasteri povinen znahoditisya tilki FastCGI proces a ne cilij vebserver Ce dozvolyaye vikoristovuvati FastCGI procesu bilshe resursiv sho harakterno napriklad dlya load balancer apache Pri porivnyanni php FastCGI z apache neobhidno zvertati uvagu na te sho FastCGI zabezpechuye dodatkovu bezpeku yak napriklad zapusk FastCGI procesu pid koristuvachem vidminnim vid koristuvacha web servera a takozh mozhe znahoditisya v chroot otochenni vidminnomu vid chroot otochennya vebservera Pri porivnyanni perl FastCGI z apache mod perl 1 2 krim vishevkazanogo pomitno sho dlya rozdilyayetsya vikoristannya pam yati mizh procesami sho realizuyetsya v mod perl cherez startup pl neobhidnij FastCGI menedzher procesiv realizovanij na Perl Ce realizuyetsya modulem FCGI ProcManager i nadbudovoyu nad nim FCGI Spawn Vebserveri z pidtrimkoyu FastCGIApache HTTP server chastkovo Vikoristovuyutsya chuzhi moduli mod fastcgi abo mod fcgid Multipleksuvannya zapitiv cherez odne z yednannya nemozhlivo v cij arhitekturi veb servera Apache Pidtrimka izolovanoyu FastCGI servera Lighttpd Microsoft IIS Nginx Pidtrimka grupi serveriv Web Server i poperedniki Priv yazki FastCGI API v movah programuvannyaFastCGI mozhe buti vikoristanij v bud yakij movi sho pidtrimuye soketi Isnuyuchi API C C Common Lisp CLISP and D mova programuvannya Erlang Haskell Java Lua Ocaml Perl PHP Python Ruby Smalltalk and TCLPrimitki Arhiv originalu za 8 lyutogo 2010 Procitovano 11 listopada 2009 Arhiv originalu za 25 chervnya 2008 Procitovano 11 listopada 2009 Arhiv originalu za 23 bereznya 2008 Procitovano 11 listopada 2009 Arhiv originalu za 26 listopada 2007 Procitovano 11 listopada 2009 Div takozhCGI SCGIDzherelaNalashtuvannya FastCGI modulya dlya servera nginx 6 bereznya 2010 u Wayback Machine