Wie um zu testen, nginx subdomains auf localhost
Will ich testen nginx subdomains vor dem Upload der config auf dem server. Kann ich es testen auf localhost? Ich versuche
server {
listen 80;
server_name localhost;
location /{
proxy_pass http://localhost:8080;
}
}
server {
listen 80;
server_name sub.localhost;
location /{
proxy_pass http://localhost:8080/sub;
}
}
Und es funktioniert nicht. Shoulld ich meine hosts-Datei um, damit es funktioniert? Auch, nach dem hochladen der site auf den server sollte ich ändern, DNS-Einträge und hinzufügen sub.mydomain.com?
InformationsquelleAutor der Frage madhead | 2012-04-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, add 'sub.localhost 127.0.0.1", um Ihre hosts-Datei. Das sub muss gelöst werden, irgendwie. Das sollte funktionieren.
Dann, wenn Sie bereit sind, gehen Sie zu dem Netz, ja, fügen Sie ein a-oder cname-record für die subdomain sub.
Wenn ich proxy_pass ich auch den proxy.conf von Apache.
http://wiki.nginx.org/HttpProxyModule
InformationsquelleAutor der Antwort troseman
Für Ihre öffentlichen webserver mit eigener domain-Namen, Sie brauchen nur zu addieren, um eine Kanonische Namen mit CNAME-Eintrag in Ihrer DNS-Konfiguration:
Sobald dies geschehen ist, setzen Sie Ihre nginx-Einstellung
In Ihrem lokalen setup können Sie die gleiche Konfiguration für nginx, aber es sei denn, Sie haben einen lokalen DNS-setup, müssen Sie Ihre /etc/hosts-Datei und fügen Sie jede subdomain manuell. wildcards funktionieren nicht in der /etc/hosts-Datei.
Ist es in der Regel empfohlen, um zu verwenden .lokal als Namensraum für Ihre lokalen Domänen.
InformationsquelleAutor der Antwort Shantanu Bhadoria
In Linux-basierten OS nur um zu Bearbeiten, wie
sudo
/etc/hosts
- Datei und ändern Sie127.0.0.1 localhost
zu127.0.0.1 *.localhost
.Also bei
/etc/nginx/sites-enabled/<environment>/<your_project_name>
Bearbeitenserver_name
Schlüssel als<subdomain>.localhost
.Reload von nginx und networking-Dienst.
Und dann versuchen
http://<subdomain>.localhost
im url-Leiste.Es funktioniert für mich.
UPDATE
Meiner Meinung nach, eine bessere Lösung ist das erstellen einer virtuellen server, der nur reagiert, wenn die subdomain nicht existiert, bei
/etc/nginx/sites-enabled/development/default
als Standard-server (denken Sie daran, dass Sie definieren können, nur ein server als default).Stellen Sie sicher, dass in
nginx.conf
(in der Regel bei/etc/nginx/nginx.conf
) enthalteninclude /etc/nginx/sites-enabled/**/*;
auf diesen virtuellen server arbeiten. Wenn nicht, setzen Sie es und führen Sie dann$ sudo service nginx reload
.In diesem Fall nicht notwendig ist, setzen
*.localhost
im/etc/hosts
aber nurlocalhost
.InformationsquelleAutor der Antwort rplaurindo