<br><br><div class="gmail_quote">2010/11/7 paranoidchaos <span dir="ltr">&lt;<a href="mailto:nginx-forum@nginx.us">nginx-forum@nginx.us</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">&gt;&gt;* - это изменение дефолтового значения.<br>
но это не нормально.<br>
<br>
</div>ненормально то что энджтнкс будет<br>
менять дефолтовые параметры системы<br></blockquote><div>Этим ключом nginx не меняет параметры системы. У каждого процесса есть таблица для открытых дескрипторов (файлы, соединения). Размер этой таблицы по-умолчанию в unix 1024. Для процессов, которые аггрегируют на себе десятки или сотни тысяч открытых соединений/файлов необходимо увеличивать эту табличку. Только для этих процессов.</div>
<div>Только для процессов можно увеличить через ulimit -n newfiletablesize перед запуском демона, либо сам демон должен делать необходимые системные вызовы для того чтобы у его потомков был правильный размер таблицы дескрипторов.</div>
<div>Если по какой-то причине nginx стартует не из под пользователя root, то pam может запретить ему расширить таблицу, поэтому, что для ulimit, что для ключа nginx надо будет прописать увеличение hard лимина в security/limits.conf. Но этот случай крайне редкий, поэтому в общем случае надо или добавлять в стартовые скрипты ulimit -n max_connections_per_nginx_child, либо выставлять это значение в конфигурационном файле nginx. Повторюсь, между двумя последними способами разница не очень большая.</div>
<div> </div></div>