понедельник, 16 октября 2023 г.

Подключение FastAGI скриптов через xinetd

 Ставим xinetd, если его нет.

Далее в /etc/services пишем:

fastagi             4573/tcp                        # FastAGI service

Создаем /etc/xinetd.d/fastagi со следующим содержимым:

service fastagi

{
        socket_type  = stream
        user         = root
        group        = nobody
        server       = /путь_к_скрипту.sh
        wait         = no
        protocol     = tcp
        bind         = 10.2.1.31
        disable      = no
        per_source   = UNLIMITED
        instances    = UNLIMITED
        cps          = 100 0
}

Где:

wait - является ли сервис single-threaded или multi-threaded. Если его значение yes сервис является single-threaded; это означает что xinetd запускает сервер и затем перестает обрабатывать запросы для этого сервера пока запущенный сервер не завершит работу. Если значение атрибута no, то значит сервис является multi-threaded и xinetd продолжит обрабатывать вновь приходящие запросы.

per_source - максимальное число экземпляров серверных процессов указанного сервиса на IP адрес источника.

instances - определяет число серверов которое может быть одновременно активировано для одного сервиса.

cps - ограничивает скорость обработки входящих соединений. Параметр имеет два аргумента. Первый аргумент - число обрабатываемых входящих соединений в секунду. Если число соединений превышает указанное значение, то сервис становится временно недоступным. Второй аргумент - временной интервал в секундах, который необходимо выдержать перед восстановлением доступности сервиса.

Обращение к скрипту из диалплана:

AGI(agi://10.2.1.31/,$параметр)


Комментариев нет:

Отправить комментарий