Что конкретно FastCGI делает (для Ruby, Java и Python)?

Вдоль линий защиты шифрование между конечными точками важно все же не всегда предлагаемое.

Функция виртуального пользователя в FogBugz довольно хороша. Мне нравится он лучше, чем стандартные группы. Я считал бы это требованием, использовавшим его в течение нескольких лет теперь.

3
задан 18 January 2010 в 19:58
2 ответа

FastCGI является заменой для "стандартных" сценариев CGI.

В олдскульном CGI веб-сервер запустил бы Ваш сценарий, отправить ему запрос, ожидать ответа, затем ожидать, что Ваш сценарий завершится.

Основная функция FastCGI - то, что Ваш сценарий не умирает, но бродит вокруг, ожидая другого запроса. Это делает это намного более эффективным, потому что другой процесс не создается, вероятно интерпретируемый сценарий не перезагружается и т.д. Это - главная победа для Perl, Ruby и примерно любого языка.

Оборотная сторона - то, что Ваш сценарий должен быть записан для обработки этого вида вещи. Это не твердо.

Так, FastCGI - все о сокращении влияния обслуживания запроса.

Если Вы используете Ruby on Rails (не только рубин), затем изучают Пассажира Phusion. Это - один потрясающий плагин сервера, который делает рабочий Ruby on Rails довольно хорошим.

Что касается mod_python, можно, конечно, сделать это. Однако существуют компромиссы. Для одного сценарий CGI может работать как другой пользователь, чем основной веб-сервер. Я не знаю, делает ли mod_python это. Может быть очень полезно смочь работать, поскольку другой пользователь для разрешения выходит, сохраняя приложения разделенными путем работы различных пользователей, и т.д.

Так, для ответа на вопрос немного по-другому, если Вы готовы использовать mod_python и Пассажира Phusion, затем Вы не должны использовать FastCGI. Если необходимо запустить скрипты в другом процессе, чем сервер, то Вы хотите использовать FastCGI, если Вы можете по простому CGI.

4
ответ дан 3 December 2019 в 06:23
  • 1
    +1, Кроме того, для FastCGI возможно быть выполненным по сети. Так, Ваш веб-сервер и сервер сценария приложений могли быть на различных машинах. Это может также помочь с выравниванием нагрузки. –  sybreon 19 January 2010 в 03:16

FastCGI является оптимизированной версией CGI. Это соответствует интерфейсу CGI, добавляя распределенные вычисления.

Можно запустить скрипты Python через CGI (cgitb модули полезно), но обычно лучше использовать платформу, такую как mod_python по причине функции и производительности. Ситуация является похожей с Ruby и Java.

Я не уверен, что Вы пытаетесь сделать. Вы не можете только заменить Полукровку или Tomcat с FastCGI. Они - совершенно другие звери. Необходимо переписать приложение для установки интерфейсу к веб-серверу.

0
ответ дан 3 December 2019 в 06:23
  • 1
    Так you' высказывание ре FastCGI делает CGI быстрее? –  Chopper3 18 January 2010 в 20:43
  • 2
    Более или менее, да. Это не совместимо с CGI, тем не менее, потому что приложение должно реализовать протокол FastCGI, который отличается, чем протокол CGI. FastCGI поддерживает сценарий в рабочем состоянии для принятия больше чем одного запроса, в то время как CGI является one-request-per-run вещью. Так, в то время как это делает его быстрее, это не то же самое. –  Michael Graff 18 January 2010 в 21:50

Теги

Похожие вопросы