Detaillierte Erläuterung der WordPress-Multisite-Konfiguration in der Nginx-Umgebung

Detaillierte Erläuterung der WordPress-Multisite-Konfiguration in der Nginx-Umgebung

Mit der Multisite-Funktion von WordPress können Sie ein WordPress-Programm installieren und mehrere Sites erstellen (d. h. eine Reihe von Programmen, die an mehrere Domänennamen oder Subdomänen gebunden werden können).

Jede Site hat ihre eigenen Themen, Plugins, Artikel und Seiten.

Dadurch kann der Aufwand für die Wartung und Aktualisierung mehrerer WordPress-Installationen erheblich reduziert werden.

Darüber hinaus können die einzelnen Standorte unabhängig voneinander sein und sich gegenseitig nicht beeinflussen.

Es gibt zwei Möglichkeiten, WordPress Multisite zu verwenden: Unterverzeichnis und Subdomain. Hier stellen wir hauptsächlich die Subdomain-Methode vor.

Das heißt, wir erstellen auf der Grundlage des Hauptdomänennamens eine Subdomäne, zum Beispiel: http://shop.jb51.com.

Gleichzeitig können wir diese Subdomäne einer First-Level-Domäne wie http://shop.com zuordnen.

Besucher greifen auf einen unabhängigen Domänennamen der ersten Ebene zu.

1. Vorbereitung

WordPress stellt seine Multisite-Funktionsseite vor: Site-Netzwerkverwaltungsseite

Als nächstes bereiten wir mehrere Domänennamen wie folgt vor:

Site 1: www.jb51.com (primärer Domänenname), der Domänenname, der bei der Installation von WordPress verwendet wird. Site 2: blog.jb51.com, der Domänenname der zweiten Ebene. Site 3: news.com, der zugeordnete Domänenname der zweiten Ebene, news.jb51.com.
Site 4: shop.com, zugeordneter Second-Level-Domänenname shop.jb51.com
Hinweis: Bitte ändern Sie nach der Installation von WordPress den Domänennamen im Backend nicht eigenmächtig. Auch wenn Sie den Domänennamen mit www in einen ohne www oder umgekehrt ändern, kann dies zu der Fehlermeldung „Sie wurden zu oft umgeleitet“ führen.

Melden Sie sich dann auf der Auflösungsseite des Domain Name Service Providers an und legen Sie die A-Einträge der oben genannten Domänennamen auf die Server-IP fest, auf der WordPress installiert ist.

Sie können es auch auf Ihrem lokalen Computer testen, indem Sie die Hosts-Datei direkt ändern und die folgende Zeile hinzufügen:

127.0.0.1 www.jb51.com blog.jb51.com news.com shop.com

2. Nginx-Konfiguration Erstellen Sie wie folgt eine neue Konfigurationsdatei im Nginx-Konfigurationsverzeichnis:

$ sudo vi /etc/nginx/conf.d/jb51.conf

Der Inhalt ist:

Server {
hören Sie 80;
Servername www.jb51.com blog.jb51.com news.com shop.com;

root /usr/share/nginx/wordpress;
Indexierung index.php;

Standort / {
versuche_dateien $uri $uri/ /index.php?$args;
}

Standort ~ /favicon.ico {
Zugriff_Abmeldung;
log_not_found aus;
}

Standort ~ \.php$ {
versuche_dateien $uri /index.php;
fastcgi_params einschließen;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $Dokumentstammsatz$fastcgi_script_name;
}

Zugriffsprotokoll /var/log/nginx/$host-access.log;
Fehlerprotokoll /var/log/nginx/wpms-error.log;
}

Hier verwenden wir die Variable $host, um Nginx zu ermöglichen, für jeden Domänennamen ein separates Zugriffsprotokoll zu generieren.

Beispiele: news.com-access.log und shop.com-access.log.

Da das Fehlerprotokoll die Variable $host jedoch nicht verwenden kann, werden alle Fehler in einer Datei aufgezeichnet.

Starten Sie den Nginx-Server neu:

$ nginx -s neu laden

3. WordPress installieren

Installieren Sie WordPress, indem Sie die normalen WordPress-Installationsschritte befolgen.

4. Aktivieren Sie die Multisite-Funktionalität

Öffne die Datei wp-config.php mit einem Texteditor und füge vor dem Kommentar folgende Zeile ein: "/* Das war's! Bitte nicht weiter bearbeiten. Bitte speichere diese Datei. Viel Spaß! */":

/* Multisite-Einstellungen */
definieren( 'WP_ALLOW_MULTISITE' , true );

Wir werden diese Datei noch mehrmals bearbeiten.

Nach dem Speichern melden Sie sich beim WordPress-Backend an, klicken auf: Tools > Netzwerkeinstellungen und wählen die Subdomäne, den Netzwerktitel und die E-Mail-Adresse des Netzwerkadministrators aus.

Installieren Sie dann das Terminal.

Nach einer Weile erscheinen zwei Codeblöcke auf der Benutzeroberfläche, die Sie auffordern, die Dateien wp-config.php bzw. .htaccesss hinzuzufügen.

Wir verwenden hier Nginx, daher müssen wir uns um den .htaccess-Teil keine Gedanken machen.

Öffne die Datei wp-config.php und füge vor dem Kommentar folgende Zeilen hinzu: "/* OK! Bitte nicht weiter bearbeiten. Bitte speichere diese Datei. Viel Spaß! */":

definieren('MULTISITE', true);
definieren('SUBDOMAIN_INSTALL', true);
definieren('DOMAIN_CURRENT_SITE', 'www.jb51.com');
definieren('PATH_CURRENT_SITE', '/');
definieren('SITE_ID_CURRENT_SITE', 1);
definieren('BLOG_ID_CURRENT_SITE', 1);
Melden Sie sich vom WordPress-Administrationsbereich ab und erneut an.

Melden Sie sich von WordPress ab und wieder an.

Öffnen Sie „Meine Sites“ > „Netzwerkverwaltung“ > „Sites“ in der oberen linken Ecke des Panels.

Klicken Sie auf die Schaltfläche „Neu hinzufügen“, um das Formular „Neue Site hinzufügen“ zu öffnen, und fügen Sie nacheinander die drei Subdomänen „Blog“, „News“ und „Shop“ hinzu.

Wählen Sie nach dem Hinzufügen alle Sites aus, bearbeiten Sie die beiden Subdomains news.jb51.com und shop.jb51.com und die Site-Titel lauten jeweils „News“ und „Shopping Mall“.

Ändern Sie die Site-Adresse (URL) in: news.com bzw. shop.com.

Nach Abschluss dieses Schritts können wir blog.jb51.com besuchen. Es ist bereits eine unabhängige Site mit unabhängigen Ressourcen.

Um jedoch auf news.com und shop.com zugreifen zu können, müssen Sie weiterlesen.

5. Domänennamenzuordnung einrichten

Öffnen Sie „Meine Site“ > „Netzwerkverwaltung“ > „Plugins“ in der oberen linken Ecke des Panels.

Installieren Sie hier das WordPress MU Domain Mapping-Plugin. Sie können direkt suchen oder es herunterladen und installieren und dann aktivieren.

Kopieren Sie anschließend die Datei sunrise.php im Plugin-Verzeichnis (Verzeichnis wp-content/plugins/wordpress-mu-domain-mapping) in das Verzeichnis wp-content.

Öffne die Datei wp-config.php und füge vor dem Kommentar folgende Zeile ein: "/* OK! Bitte nicht weiter bearbeiten. Bitte speichere diese Datei. Viel Spaß! */":

definieren('SONNENAUFGANG', 'am');

Speichern Sie, kehren Sie dann zum Browser zurück und öffnen Sie „Meine Site“ > „Netzwerkverwaltung“ > „Einstellungen“ in der oberen linken Ecke des Panels im Hintergrund.

Wählen Sie dann „Domänenzuordnung“ und ändern Sie die Domänenoptionen wie unten gezeigt:

Dann speichern Sie es.

Die Funktion der Konfiguration besteht hier darin, alle Domänennamen der zweiten Ebene (wie news.jb51.com) auf ihre jeweiligen externen Domänennamen (wie news.com) umzuleiten, einschließlich der Verwaltungsseite (/wp-admin).

Als Nächstes müssen wir die Top-Level-Domänennamen den verschiedenen Site-IDs zuordnen.

Standardmäßig wird die Site-ID nicht im Hintergrund angezeigt, daher verwenden wir die einfachste Methode, um die Site-ID direkt im Hintergrund anzuzeigen.

Bei dieser Methode wird das Must-use-Plugin von WordPress verwendet.

Erstellen Sie ein „mu-plugins“-Verzeichnis im „wp-content“-Verzeichnis und erstellen Sie dann eine Datei mit dem Namen „wpms_blogid.php“ im neu erstellten Verzeichnis.

Der Inhalt dieser PHP-Datei ist:

<?php
add_filter('wpmu_blogs_columns', 'do_get_id');
add_action( "Sites_benutzerdefinierte_Spalte_verwalten", "Spalten_hinzufügen", 10, 2 );
add_action( "benutzerdefinierte Blog-Spalte verwalten", "Spalten hinzufügen", 10, 2 );

Funktion do_add_columns( $Spaltenname, $Blog-ID) {
wenn ('blog_id' === $spaltenname)
echo $blog_id;
gibt $Spaltenname zurück;
}

Funktion do_get_id( $spalten ) {
$columns['blog_id'] = 'ID';
gibt $Spalten zurück;
}

Rufen Sie nach dem Speichern im Backend „Site > Alle Sites“ auf. In der Site-Liste wird dann eine zusätzliche ID-Spalte angezeigt, die im nächsten Schritt verwendet wird.

Wechseln Sie im Backend-Kontrollbereich zu Einstellungen > Domänen und fügen Sie zwei Domänennamen hinzu:

Site-ID: 3 (basierend auf Ihrer tatsächlichen Situation)
Domian: news.com
Primär: √

sowie:

Site-ID: 4 (basierend auf Ihrer tatsächlichen Situation)
Domian: shop.com
Primär: √

Wenn der Domänenname „www“ enthält, wird die gleiche Operation verwendet.

6. Ergebnisse

Nach Abschluss der oben genannten Schritte ist es grundsätzlich in Ordnung.

Der Domänenname der Hauptsite bleibt unverändert und lautet weiterhin www.jb51.com.

Verwenden Sie news.com, um auf Nachrichtenseiten zuzugreifen.

Sie können die Website des Einkaufszentrums über shop.com besuchen.

Auf das Blog kann weiterhin über den Second-Level-Domain-Namen blog.jb51.com zugegriffen werden.

Gleichzeitig verfügen die Backends dieser Sites auch über unabhängige Adressen:

http://www.jb51.com/wp-admin/
http://blog.jb51.com/wp-admin/
http://news.com/wp-admin/
http://shop.com/wp-admin/

Sie können nicht mehr auf jeder Site Designs und Plug-Ins installieren.

Alle werden in der Netzwerkverwaltung konfiguriert (Meine Site > Netzwerkverwaltung in der oberen linken Ecke des Panels).

Oben ist die detaillierte Methode zum Konfigurieren der Multisite-Funktion von WordPress in der Nginx-Umgebung beschrieben. Ich hoffe, es wird für alle hilfreich sein.

Das könnte Sie auch interessieren:
  • In sechs Schritten lernen Sie, von Grund auf ein persönliches Blog auf WordPress-Basis zu erstellen.
  • Detaillierte Erklärung des gesamten Prozesses zum Erstellen eines persönlichen Blogs mit nginx+WordPress
  • Detaillierte Schritte zum Einrichten des Hosts Nginx + Docker WordPress Mysql
  • Beispiel zum Festlegen der pseudostatischen WordPress-Eigenschaft in Nginx
  • So konfigurieren Sie WordPress mit Nginx
  • Detailliertes grafisches Tutorial zur Lösung des Problems des langsamen Zugriffs auf die WordPress-Website

<<:  Manuelle Implementierung des bidirektionalen Datenbindungsprinzips von Vue2.0

>>:  Tutorial zur MySQL-Installation in der Linux-CentOS7-Umgebung

Artikel empfehlen

So zeigen Sie MySQL-Links an und löschen abnormale Links

Vorwort: Während des Betriebs und der Wartung der...

So verwenden Sie Docker+DevPi zum Erstellen einer lokalen PyPi-Quelle

Vor einiger Zeit musste ich für die Entwicklung h...

So kapseln Sie Paging-Komponenten manuell in Vue3.0

In diesem Artikel wird der spezifische Code der m...

Packetdrills prägnantes Benutzerhandbuch

1. Kompilierung und Installation von Packetdrill ...

Zusammenfassung der Entwicklung benutzerdefinierter Vue 3-Richtlinien

Was ist eine Richtlinie? Sowohl Angular als auch ...

Lösung für das MySQL IFNULL-Beurteilungsproblem

Problem: Die von mybatis zurückgegebenen Daten vo...

4 Möglichkeiten zur Implementierung von Routing-Übergangseffekten in Vue

Vue-Router-Übergänge sind eine schnelle und einfa...

Detaillierte Erklärung der Webseiten-Screenshot-Funktion in Vue

Seit Kurzem besteht im Projekt die Anforderung, B...