Конфигурация Nginx на DreamHost VPS

Я запустил свой сайт на nginx на моем Dreamhost VPS. Здорово. Я хотел ограничить количество подключений для каждого IP-адреса, добавив в блок http файла conf nginx conf всего сайта (/dh/nginx/servers/httpd-psxxxxxx/nginx.conf) следующее:

limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_conn limit_per_ip 50;

Перезагружал nginx и все работает отлично и денди.

При перезагрузке сервера nginx не запускается. Мне нужно снова перейти к файлу nginx, закомментировать две строки об ограничении количества соединений на IP, перезагрузить nginx, затем вернуться и снова раскомментировать две строки, а затем перезагрузить nginx. После этого все в порядке.

Если я пытаюсь вручную перезагрузить nginx после перезагрузки сервера, я получаю следующее сообщение об ошибке:

webserver... nginx: [emerg] zero size shared memory zone "limit_per_ip"
failed!

Что я делаю неправильно? Все, что я хочу сделать, - это не допустить, чтобы один IP-адрес перегружал все соединения и приводил ОЗУ на моем VPS через крышу, что вызывает перезагрузку.

1 ответ

Решение

Проблема в том, что вы назвали свою зону addr но тогда вы называли это limit_per_ip, который не является именем, которое вы выбрали.

Либо измените имя зоны с addr в limit_per_ip в limit_conn_zone директива или измените имя зоны с limit_per_ip в addr в limit_conn директивы.

Другие вопросы по тегам