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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was Sie jetzt tun, ist, senden alle Netzwerk-Verkehr zu 127.0.0.1:8080, ohne dass Nginx dienen die statischen Dateien.
Was Sie sollten versuchen, die folgenden:
Und proxy.conf setzen Sie die folgenden:
Sollte diese Arbeit für Sie
InformationsquelleAutor Maarten
Nur meine zwei Cent, in den meisten Fällen ist es nicht notwendig, geben Sie die
listen 80
.Quelle: Nginx-common Fallstricke
InformationsquelleAutor Pablo Olmos de Aguilera C.