есть сервер с широкими каналами, nginx 0.5.5, сайт на стороннем сервере,
который ссылается на много мелких картинок, которые лежат на этом сервере с
nginx.
Пользователю отдается страница на которой около 30 ссылок на такие картинки.
Замечено, что иногда не все они загружаются, хотя если в чем-нибудь отдельном,
типа wget конкретную картинку проверить - она прекрасно отдается.
Когда поймал глюк в опере включил "работать автономно", загрузил из кеша и увидел что
вместо картинки я получил "500 Internal Server Error" от nginx (кстати, он отдает только
статику, только для одного сайта, ничего никуда не проксируется)
/stub_status - это примерно за час или чуть меньше.
Active connections: 522
server accepts handled requests
80267 80267 262120
Reading: 0 Writing: 376 Waiting: 146
в логах -
2006/12/28 15:00:51 [crit] 9855#0: *77500 open() "/usr/local/nginx/html/50x.html" failed (24: Too many open
files), client: **.***.**.**, server: ***.*******.biz, URL: "/********/6.jpg", host:
"***.*******.biz", referrer: "http://www.*************.com/"
Конфиг практически стандартный, какой параметр и куда крутить?
Какая ОС ? Под FreeBSD нужно увеличивать
sysctl kern.maxfiles и kern.maxfilesperproc, изменяется без перезагрузки,
но работающий nginx увеличенный kern.maxfilesperproc не увидит.
Специально для этого была сделана директива worker_process_nofile - её
нужно поставить равной kern.maxfilesperproc и сказать -HUP.
Игорь Сысоев
http://sysoev.ru