too many open files

Igor Sysoev is at rambler-co.ru
Mon Mar 6 15:10:50 MSK 2006


On Mon, 6 Mar 2006, L0rda wrote:

> On 01.03.2006, at 11:31, L0rda wrote:
>
>> нарисовалась такая проблема,
>> nginx не может открыть более чем 500 лог-файлов,
>> по сигналу -HUP не перегружает конфиг,
>> а выдает ошибку 24: Too many open files.
>>
>> nginx.conf:  worker_rlimit_nofile 15000;
>> 
>> df -i
>> Filesystem            Inodes   IUsed   IFree IUse% Mounted on
>> /dev/sda1            15794176  840958 14953218    6% /
>> /dev/shm              219846       1  219845    1% /dev/shm
>> /dev/sda2            1048576   15442 1033134    2% /var
>> 
>> sysctl -a|grep file
>> fs.file-max = 500000
>> fs.file-nr = 11820	0	500000
>> 
>> ulimit -n 15000
>> 
>> Чтобы перегрузить конфиг пришлось отключить несколько лог-файлов.
>> 
>> Возможно кто-то встречался с подобной проблемой?

Это где-то ограничение в ядре. В Линуксе я не силён, так что сказать не могу.

> Я обошел проблему с помощью модуля map, но тут нашлась другая проблема, 
> приведенный в документации пример работает некорректно:
>
> http://sysoev.ru/nginx/docs/http/ngx_http_map_module.html
>    map  $http_host  $name  {
>        hostnames;
>
>        default          0;
>
>        example.com      1;
>        *.example.com    1;
>        test.com         2;
>        *.test.com       2;
>    }
>
>
> Конкретнее - не работают вайлдкарды, всегда выдается default значение если 
> запрос идет на www.example.com например.

Можно привести строку из access_log, в формате которого были бы две
переменные: $http_host и $name ?


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list