Модуль Apache mod_cgid
| Описание: | Выполнение сценариев CGI с помощью внешнего демона CGI |
|---|---|
| Статус: | Базовый |
| Идентификатор модуля: | cgid_module |
| Исходный файл: | mod_cgid.c |
| Совместимость: | Только многопоточные MPM Unix |
Краткое описание
За исключением оптимизаций и дополнительной директивы ScriptSock, описанной ниже, mod_cgid работает аналогично mod_cgi. Дополнительные сведения об Apache и CGI см. в кратком описании mod_cgi.
В некоторых операционных системах Unix создание процесса из многопоточного сервера является очень ресурсоёмкой операцией, поскольку новый процесс будет копировать все потоки родительского процесса. Чтобы избежать этих затрат при каждом вызове CGI, mod_cgid создаёт внешний демон, отвечающий за создание дочерних процессов для выполнения сценариев CGI. Основной сервер взаимодействует с этим демоном через доменный сокет Unix.
Этот модуль используется по умолчанию вместо mod_cgi, если во время компиляции выбрана многопоточная MPM. На пользовательском уровне этот модуль идентичен mod_cgi по конфигурации и работе. Единственное исключение — дополнительная директива ScriptSock, задающая имя сокета для взаимодействия с демоном CGI.
Директива CGIDScriptTimeout
| Описание: | Время ожидания дополнительных данных от программы CGI |
|---|---|
| Синтаксис: | CGIDScriptTimeout time[s|ms] |
| По умолчанию: | value of Timeout directive when unset or set to 0 |
| Контекст: | конфигурация сервера, виртуальный хост, каталог, .htaccess |
| Статус: | Базовый |
| Модуль: | mod_cgid |
| Совместимость: | Доступна в httpd 2.4.10 и более поздних версиях; в предыдущих версиях тайм-аут не применялся |
Эта директива ограничивает время ожидания дополнительных данных от программы CGI. Если время ожидания превышено, запрос и CGI завершаются.
Пример
CGIDScriptTimeout 20
Директива ScriptSock
| Описание: | Префикс имени файла сокета для взаимодействия с демоном CGI |
|---|---|
| Синтаксис: | ScriptSock file-path |
| По умолчанию: | ScriptSock cgisock |
| Контекст: | конфигурация сервера |
| Статус: | Базовый |
| Модуль: | mod_cgid |
Эта директива задаёт префикс имени файла сокета для взаимодействия с демоном CGI; к нему будет добавлено расширение, соответствующее идентификатору процесса сервера. Сокет будет открыт с разрешениями пользователя, запустившего Apache (обычно root). Для обеспечения безопасности взаимодействия со сценариями CGI важно, чтобы другие пользователи не имели права записи в каталог, где расположен сокет.
Если file-path не является абсолютным путём, указанное расположение будет относительным к значению DefaultRuntimeDir.
Пример
ScriptSock /var/run/cgid.sock
© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/mod/mod_cgid.html