scgi_bind

Директива `scgi_bind` задаёт адрес и порт, на которых SCGI-сервер будет прослушивать подключения. — NGINX HTTP Core

scgi_bind
httpserverlocation
Синтаксисscgi_bind address [port];
По умолчаниюnone
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументы1-2

Описание

Директива `scgi_bind` определяет сетевой адрес и порт, которые NGINX будет использовать для связи с сервером приложения SCGI. Эта директива важна для настройки того, как входящие SCGI-запросы направляются на соответствующий бэкенд-сервер. Она может принимать либо IP-адрес, либо путь до Unix socket, что обеспечивает гибкость в топологии сервера. Важно понимать, что эту директиву можно указывать в контекстах `http`, `server` или `location`, и она может принимать один или два аргумента. Первый аргумент обязательный и задаёт адрес для привязки, тогда как необязательный второй аргумент указывает номер порта. Если указан только один аргумент и он представляет собой Unix socket, номер порта не требуется. Кроме того, явное указание номера порта может быть важно для TCP/IP коммуникаций, чтобы обеспечить доступность SCGI-сервера по нужной конечной точке. При использовании `scgi_bind` убедитесь, что адрес не занят, и что для файлов Unix socket установлены корректные права доступа, поскольку эти файлы подчиняются правам файловой системы. Неправильная настройка может привести к сбоям соединения или недоступности сервисов.

Пример конфига

server {
    listen 80;
    location / {
        scgi_pass 127.0.0.1:4000;
        scgi_bind 127.0.0.1 4000;
    }
}

Убедитесь, что указанный порт не занят другой службой.

При использовании Unix-сокетов убедитесь, что файл сокета имеет правильные права доступа для пользователя, под которым запущен NGINX.