I have just setup nginx for everyone static request on a single site, however i have plenty of sites on my small server and that i question, must i right new nginx server configuration its them? What I am doing now. I've file with all of virtual hosts records for Apache with a few-factor such as this:

NameVirtualHost *:8080
<VirtualHost *:8080>
 ServerName sky2high.net
 DocumentRoot /home/mainsiter/data/www/sky2high.net
</VirtualHost>

<VirtualHost *:8080>
 ServerName surdo.asmon.ru
 DocumentRoot /home/surdo/data/www/surdo.asmon.ru
</VirtualHost>

<VirtualHost *:8080>
 ServerName surdoserver.ru
 DocumentRoot /home/surdo/data/www/surdoserver.ru
</VirtualHost>

I've this in apache's ports.conf:

Listen 8080

And thus I have setup nginx to utilize one site (sky2high.internet), produced next configure file (/etc/nginx/sites-enabled/sky2high.internet):

server {
 listen 80;
 server_name sky2high.net www.sky2high.net;
  proxy_pass http://127.0.0.1:8000;
   proxy_set_header Host $host;

 access_log /var/log/nginx.access_log;

 location ~* \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx)$ {
  root /home/mainsiter/data/www/sky2high.net/;
  index index.php;
  access_log off;
  expires 30d;
 }
 location ~ /\.ht {
  deny all;
 }
 location / {
  proxy_pass http://127.0.0.1:8080/;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-for $remote_addr;
  proxy_set_header Host $host;
  proxy_connect_timeout 60;
  proxy_send_timeout 90;
  proxy_read_timeout 90;
  proxy_redirect off;
  proxy_set_header Connection close;
  proxy_pass_header Content-Type;
  proxy_pass_header Content-Disposition;
  proxy_pass_header Content-Length;
 }
} 

And delay pills work acceptable for this domain, however another virtual hosts are damaged.

So, now you ask ,: can there be ultimate config choice for nginx, witch will help handle all request, all virtual hosts (domain names) and serve them correctly? I am talking about, option that enables to not write separete configure files for every virtual hosts (with all of this bending things like root and index options), only one for those virtual hosts?

PS: must i move question to serverfault?

UPDATE: Emm.. I question how's it really works, but it's. I have made next config files:

/etc/nginx/nginx.conf

user www-data;
worker_processes  2;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    access_log  /var/log/nginx/access.log;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;

    gzip             on;   
    gzip_min_length  1000;
    gzip_proxied     any;
    gzip_disable     "msie6";

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

and

/etc/nginx/sites-enabled/default

server {
    listen 80;

    location / {
        proxy_pass http://127.0.0.1:8080/;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Connection close;
        proxy_pass_header Content-Type;
        proxy_pass_header Content-Disposition;
        proxy_pass_header Content-Length;
    }
}

I don't know how could it be works, but it's...

UPDATE 2: or it does not work! I have looked to "top" in console and metioned that apache serves not just php request, however for static content either =(