Конфигурация 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
директивы.