Apache und ultimate config für nginx zu dienen, die allen virtuellen hosts in der richtigen Weise

Habe ich gerade das einrichten von nginx zu dienen statische Anforderung auf der einen Seite, aber ich habe viele Websites auf meinem server und ich Frage mich, sollte ich Recht neue nginx-server-Konfiguration für alle von Ihnen?
Was ich jetzt mache. Ich habe die Datei mit allen virtuellen hosts die Einträge für Apache mit etwas wie dieses:

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>

Habe ich das in die apache-ports.conf:

Listen 8080

Also habe ich eingerichtet nginx zur Arbeit mit einer Website (sky2high.net), erstellt als Nächstes konfigurieren Sie die Datei (/etc/nginx/sites-enabled/sky2high.Netto):

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;
 }
} 

Und es funktioniert gut für diese domain, aber natürlich eine andere virtuelle hosts sind gebrochen.

So, die Frage ist: ist es die ultimative config option für nginx, Hexe, kann helfen, behandeln alle Anfragen, die von allen virtuellen hosts (domains) und servieren Sie Sie in der richtigen Weise? Ich meine, die Möglichkeit, nicht zu schreiben, separete konfigurieren von Dateien für jeden virtuellen hosts (mit all diesen verdoppelt Sachen wie Wurzel-und index-Optionen), aber nur eine, die für alle virtuellen hosts?

PS: sollte mich dazu bewegen Frage auf serverfault?

UPDATE:
Emm.. ich Frage mich, wie es funktioniert, aber es ist so. Ich habe nächste config-Dateien:

/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/*;
}

und

/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;
    }
}

Ich nicht verstehen, wie es funktioniert, aber es ist...

UPDATE 2: oder es funktioniert nicht! Ich habe nach "top" in der Konsole und metioned, dass der apache dient nicht nur php request, aber für statische Inhalte entweder =(

InformationsquelleAutor Dimitry | 2010-08-08

Schreibe einen Kommentar