Hosten Sie mehrere Domains auf einem Server oder einer IP mit Apache oder Nginx

Lassen Sie uns lernen, wie Sie Apache und Nginx konfigurieren, um mehrere Websites zu hosten.

Das Hosten von Websites auf dem Cloud-Server bietet im Vergleich zum Shared Hosting viel Flexibilität. Sie können installieren, was Sie möchten, nach oben oder unten skalieren und für eine bessere Leistung und Kostenoptimierung konfigurieren.

Wenn Sie mehrere Unternehmenswebsites betreiben, diese aber nicht separat hosten möchten, können Sie Virtual Server in Webservern nutzen. Werfen wir einen Blick auf dieses Szenario.

Ich habe die folgenden zwei Websites, die ich auf meine eine Cloud-VM verweisen möchte.

Lassen Sie uns vor der Implementierung verstehen, wie es funktioniert.

Das Konzept, mehrere Websites auf einer einzigen Webserverinstanz zu haben, wird Virtual Server genannt. Sie wird zusammen mit der URL in der Konfigurationsdatei definiert. Wenn eine Anfrage an eine definierte URL gestellt wird, würde der Webserver den Datenverkehr vom jeweiligen Document Root bereitstellen.

  Die 12 besten Kindersicherungs-Apps für mehr Sicherheit

Konfigurieren Sie den virtuellen Host in Apache, um mehrere Domänen zu hosten

  • Melden Sie sich beim Apache HTTP-Server an
  • Gehen Sie zum Apache conf-Speicherort. (in der Standardinstallation – Sie finden es hier /etc/httpd/conf/httpd.conf)
  • Erstellen Sie eine Sicherungskopie der Datei httpd.conf
  • Erstellen Sie einen VirtualHost-Container, wie ich es unten für zwei Domänen getan habe.
<VirtualHost *:80>
ServerAdmin [email protected]
   DocumentRoot /opt/htdocs/lab
   ServerName lab.wdzwdz.com
   ErrorLog logs/lab.wdzwdz.com-error_log
   CustomLog logs/lab.wdzwdz.com-access_log common
</VirtualHost>

<VirtualHost *:80>
   ServerAdmin [email protected]
   DocumentRoot /opt/htdocs/gf-dev
   ServerName gf.dev
   ErrorLog logs/gf.dev-error_log
   CustomLog logs/gf.dev-access_log common
</VirtualHost>

Hinweis: Ändern Sie den Wert für ServerAdmin, DocumentRoot, ServerName, ErrorLog, CustomLog basierend auf Ihren Anforderungen.

  • Starten Sie Apache HTTP neu und testen Sie beide URLs.
  So fügen Sie Zellen in Google Tabellen bedingte Formatierung hinzu

Konfigurieren Sie den virtuellen Host in Nginx, um mehrere Domänen zu hosten

  • Melden Sie sich beim Nginx-Server an
  • Gehen Sie zu dem Ort, an dem Sie Nginx installiert haben. (am Standardspeicherort – Sie finden ihn hier /etc/nginx/)

Es gibt mehrere Möglichkeiten, dies zu erreichen. Sie können entweder die Datei nginx.conf oder die benutzerdefinierte Datei ändern, falls Sie eine haben. Sie können auch eine custom.conf im Ordner conf.d erstellen. Wählen Sie, was für Sie funktioniert, und erstellen Sie eine Sicherungskopie, wenn Sie eine vorhandene Datei ändern.

  • Erstellen Sie einen Serverblock für beide URLs, wie ich unten gezeigt habe.
server {
listen 80;
   root /opt/htdocs/lab;
index index.html index.htm;
   server_name lab.wdzwdz.com;
   location / {
       try_files $uri $uri/ =404;
   }
}

server {
   listen 80;
   root /opt/htdocs/gf-dev;
   index index.html index.htm;
   server_name gf.dev;
   location / {
       try_files $uri $uri/ =404;
   }
}

Hinweis: Ändern Sie den Wert für root, server_name basierend auf Ihren Anforderungen.

  • Starten Sie Nginx neu und testen Sie beide URLs
  So emulieren Sie Do-While-Schleifen in Python

Vergessen Sie nicht, den DNS-Eintrag Ihrer URL zu aktualisieren, um ihn der Server-IP zuzuordnen. Sobald Sie fertig sind, sollten Sie in der Lage sein, auf die URLs zuzugreifen, die über die oben von Ihnen vorgenommene Konfiguration bereitgestellt werden.

Fazit

Das war die Kurzanleitung zum Hosten mehrerer Domains in einer einzigen Webserverinstanz wie Apache oder Nginx. Sobald Ihre Website online ist, vergessen Sie nicht, sie auf Sicherheitslücken zu testen.

Haben Sie den Artikel gerne gelesen? Wie wäre es mit der Welt zu teilen?