Ich würde gerne mehrere Websites von der gleichen Maschine bedienen.Nginx-Konfiguration für mehrere Sites (Sub-Domains) von demselben Server
Für jede Website verwende ich nginx einen Port zum Kommunizieren mit App-Server (uwsgi) und einen anderen Port als Proxy-Server. Jede Website verwendet uwsgi und Kolben.
Alle Websites haben dieselben API-Endpunktnamen. Der einzige Unterschied ist der Name der Subdomäne.
Etwas wie folgt aus:
server {
listen 8000 default_server;
server_name 00.myexample.com;
...
}
# Set cache dir
proxy_cache_path /tmp/nginx levels=1:2 keys_zone=my_zone:10m max_size=50m inactive=60m;
proxy_cache_key "$scheme$request_method$host$request_uri";
# Virtualhost/server configuration
server {
listen 80 default_server;
server_name 00.myexample.com;
location/{
proxy_cache my_zone;
include proxy_params;
proxy_pass http://00.myexample.com:8000;
}
...
}
Ich dachte, mehrere Standorte zu replizieren (00.myexample.com, 01.myexample.com) würde ich brauche nur zu verschiedenen Häfen machen zu hören.
Sind server_name
und eine andere Ports ausreichend, um Konflikte zu vermeiden (z. B. im Cache)? Sollte auch uwsgi verschiedene Ports für jede App anhören? (es kommuniziert jetzt mit Nginx über Socket im Ordner von jedem Standort)
Welche Konfiguration würden Sie tun, um mehrere Subdomains zu einer gleichen Maschine zu routen?
Wenn Sie denselben Server verwenden, können Sie "denselben Wert für proxy_pass für jeden Serverblock verwenden". Wert meinst du den gleichen Port zu hören? z.B. 'Server {Servername 00 .. Standort/{Proxy_Pass http://00.meinBeispiel.com:8000; } ..} #und Server {Servername 01 .. location/{proxy_pass http://01.meinbeispiel.com:8000; } ..} '? Wird es nicht mit dem Nginx-Cache kollidieren? Kann ich Servernamen an dieselbe IP-Maschine, aber an verschiedene Ports weiterleiten? z.B. 00.example.com Eine Domain auf XX.XXX.XX.XXX:8000, 01.example.com XX.XXX.XX.XXX:7000? Welcher Port ist "generell" frei? – user305883