I found the solution for the same problem on my environment, ( Solaris 10 ) here:
http://www.cyberciti.biz/faq/linux-unix-nginx-too-many-open-files/
Quoting:
....
"Then open the nginx configuration file (default: /etc/nginx/nginx.conf) and the following line right after the “worker_processes” entry line
worker_rlimit_nofile 20480;
Once both changes are made, run the Nginx lint to make sure no errors have been introduced:
# nginx -t
2010/11/01 17:07:46 [info] 9520#0: the configuration file /etc/nginx/nginx.conf syntax is ok
2010/11/01 17:07:46 [info] 9520#0: the configuration file /etc/nginx/nginx.conf was tested successfully
and then restart Nginx"
Thank to them I solved my problem :-)
hope this helps...