Смысл FastCGI в том, чтобы не создавать новый процесс для каждого входящего соединения.По самой природе языка скрипт оболочки будет порождать много процессов во время его выполнения, если вы не хотите сильно ограничивать себя.(Нет cat
, awk
, sed
, grep
и т. Д. И т. Д.).Итак, с самого начала, если вы собираетесь использовать шеллскрипт, вы можете также использовать обычный CGI вместо FastCGI.
Если вы все-таки настроены, первое большое препятствие заключается в том, что вы должны accept()
подключения к гнезду прослушивания , предоставляемые веб-сервером .Насколько я знаю, нет инструмента UNIX, который делает это.Теперь вы можете написать один на каком-то другом языке, и он может запустить ваш шеллскрипт один раз для каждого входящего соединения.Но это именно то, что делает нормальный CGI, и я гарантирую, что он делает это лучше, чем пользовательская программа, которую вы или я бы написали.Итак, еще раз, придерживайтесь обычного CGI, если вы хотите использовать шеллскрипт.