GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Installieren Sie WordPress auf Nginx Ubuntu

Nginx ist ein bekannter Webserver, der zum Bereitstellen von Webseiten im Internet verwendet wird. Nginx, das erstmals im Oktober 2004 auf den Markt kam, wurde schnell zum Webserver und Proxyserver der Wahl für Tausende von Webentwicklern. Es hat eine Reihe von Vorteilen gegenüber seinem Konkurrenten Apache. In diesem Artikel erfahren wir, wie man Nginx auf Ubuntu installiert und zum Hosten von WordPress verwendet.

Bevor wir beginnen, lassen Sie mich unmissverständlich sagen, dass dies kein Vergleich von Nginx mit Apache oder einem anderen Webserver ist. Apache wurde 1999 eingeführt und bietet mehrere nützliche Funktionen. Wenn Sie WordPress auf Apache installieren möchten, haben wir bereits einen Artikel zu diesem Thema, also schauen Sie ihn sich an.

Nginx wurde erstmals im Oktober 2004 eingeführt, vor etwa 17 Jahren. Die meisten Webentwickler bevorzugen Nginx wegen seiner Fähigkeit, mehrere gleichzeitige Client-Anfragen schnell mit begrenzten Hardwareressourcen zu bearbeiten, wodurch das Hosten von Websites im Internet kostengünstiger wird. Nginx kann auch als Reverse-Proxy verwendet werden, der Client-Anfragen an den primären Hosting-Server weiterleitet, der keinen öffentlichen Internetzugang hat, wodurch der Hosting-Server sicherer wird, als er es sonst wäre.

Voraussetzungen für die Installation von WordPress auf Nginx

In diesem Artikel verwenden wir das Betriebssystem Ubuntu, PHP 8.1, Nginx und WordPress. Wenn Sie nicht wissen, was WordPress ist, haben wir WordPress in einer Reihe von Artikeln behandelt, WordPress 101.

  • Ubuntu 20.04
  • Nginx
  • PHP8
  • WordPress

Ubuntu 20.04 ist eine langfristige Support-Version von Ubuntu. Wenn Sie Hilfe bei der Installation von Ubuntu benötigen, lesen Sie bitte diesen Artikel zu LinuxAndUbuntu. Sobald Sie Ubuntu installiert haben, können wir mit der Installation der restlichen erforderlichen Pakete fortfahren.

Wenn Sie Cloud-Dienste wie AWS, Google Cloud Platform, Linode, DigitalOcean oder MassiveGRID verwenden, können Sie die Installationsphase überspringen. Alle Cloud-Anbieter unterstützen die Ein-Klick-Installation von Ubuntu-Servern mit Nginx. Also nimm Ubuntu 20.04 mit dem Codenamen Focal Fossa. Die meisten Cloud-Anbieter installieren die UFW-Firewall standardmäßig auf Ubuntu vor. Ich empfehle Ihnen, die Firewall zu aktivieren, um die Serversicherheit zu verbessern und die unten aufgeführten TCP-Ports zuzulassen.

Falls UFW nicht vorinstalliert ist, können Sie es gerne aus dem Repository installieren –

apt install ufw
ufw enable
ufw allow http
ufw allow https
ufw allow 22

http und https sind Port 80 und Port 443. Port 22 ist für die SSH-Verbindung zum Server. Wenn Ihr Server einen benutzerdefinierten Port für ssh verwendet, lassen Sie bitte den benutzerdefinierten ssh-Port zu, bevor Sie die aktuelle SSH-Verbindung schließen. Nach dem Aktivieren der UFW-Firewall blockiert sie alle Ports, sofern sie nicht manuell zugelassen werden. Sobald Sie also die laufende SSH-Verbindung schließen, wird der SSH-Zugriff erst zugelassen, wenn der SSH-Port zugelassen wird.

Aktualisieren Sie außerdem das Betriebssystem, um sicherzustellen, dass der Server vollständig mit den neuesten Sicherheitsupdates gepatcht ist.

apt update
apt upgrade
Hinweis
Es wird nicht empfohlen, sich als Root anzumelden und Aktionen auf dem Server auszuführen. Richten Sie also ein neues Benutzerkonto ein und gewähren Sie ihm sudo Privilegien.
adduser username

Der obige Befehl leitet den Benutzererstellungsprozess ein. Folgen Sie den einfachen Anweisungen und gewähren Sie dann dem neu erstellten Benutzer sudo Privilegien mit dem folgenden Befehl –

usermod -aG sudo username

Jetzt reboot den Server und ssh in den Server mit neuem Benutzerkonto.

Installieren Sie Nginx

Die Installation von Nginx ist dieselbe wie die Installation jedes anderen Pakets auf dem System. Verwenden Sie den apt-Paketmanager, um nginx aus dem Repository zu installieren –

sudo apt install nginx

Starten Sie nach Abschluss des Installationsvorgangs den Server mit dem folgenden Befehl –

service nginx restart
service nginx status

Besuchen Sie die IP-Adresse, um zu bestätigen, dass der Server ordnungsgemäß funktioniert. Das Folgende ist die Standard-nginx-Seite, die das ordnungsgemäße Funktionieren von nginx auf dem Server bestätigt.

Konfiguriere Nginx, um WordPress zu bedienen

Nginx kann mithilfe virtueller Hosts problemlos mehrere Websites auf demselben Server verwalten. Standardmäßig erstellt nginx ein Standardprofil, das die obige Nginx-Willkommensseite anzeigt. Wir werden zuerst das Standardprofil deaktivieren und dann ein neues Profil erstellen, um mit WordPress umzugehen.

sudo unlink /etc/nginx/sites-enabled/default

Der obige Befehl deaktiviert das Standard-Nginx-Profil. Erstellen Sie nun ein neues Profil für unsere WordPress-Installation.

sudo nano /etc/nginx/sites-available/example.com

Fügen Sie nun die folgende Konfiguration in den Texteditor ein.

server {
    listen 80;
    listen [::]:80;
    server_name  gaminggroup.online;


    root /var/www/gaminggroup.online;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;

    }
}

Bevor Sie die obige Datei speichern, verstehen Sie bitte, was die obige Konfiguration bewirkt. Nachdem wir diese Konfiguration aktiviert haben, beginnt Nginx mit der Suche nach Anfragen für den Domänennamen, der als Wert von server_name erwähnt wird in der config.

Servername => der Domainname für unsere Website
root => das Root-Verzeichnis unserer Website, gespeichert auf dem Server
index => die Datei, nach der im Stammverzeichnis der Website
gesucht werden soll => Der Standortblock verarbeitet den Anforderungs-URI (Es ist ein wenig kompliziert und verdient einen separaten Artikel über seine Funktionsweise)

Ersetzen Sie gaminggroup.online mit eigenem Domainnamen. Mit der Root-Option haben wir angegeben, dass sich unser Website-Root innerhalb von /var/www/gaminggroup.online befindet . Im nächsten Schritt erstellen wir also das Website-Verzeichnis unter /var/www .

Speichern Sie nun die Konfigurationsdatei mit Strg + x und drücken Sie Enter .

Website-Stammverzeichnis erstellen

sudo mkdir /var/www/gaminggroup.online

Wenn jetzt jemand unsere Website example.com besucht, wird nginx dem Benutzer auf der Grundlage der Anfrage Inhalte von /var/www/gaminggroup.online bereitstellen Verzeichnis. Um unsere Konfiguration zu testen, erstellen Sie eine index.html-Beispieldatei im Stammverzeichnis unserer Website (/var/www/gaminggroup.online).

sudo nano /var/www/gaminggroup.online/index.html

Fügen Sie das folgende Beispiel-HTML in die Datei ein und speichern Sie es.

<h2>Hello world!</h2>
<p>This is a test page for gaminggroup.online</p>

Bevor wir testen, ob alles richtig funktioniert, lassen Sie uns die richtigen Berechtigungen für das Stammverzeichnis der Website festlegen, damit der Server auf die darin enthaltenen Dateien zugreifen kann.

sudo chown -R www-data:www-data /var/www/gaminggroup.online/index.html

Überprüfen Sie die Nginx-Konfiguration auf Fehler –

sudo ln -s /etc/nginx/sites-available/gaminggroup.online /etc/nginx/sites-enabled/
sudo nginx -t

Wenn es keinen Fehler in der Konfiguration gibt, können wir loslegen. Besuchen Sie den Domainnamen und Sie sollten die von uns eingerichtete index.html-Beispielseite sehen.

sudo service nginx restart

Der obige Screenshot bestätigt das erfolgreiche Arbeiten unserer Konfigurationen. Jetzt können wir mit der Vorbereitung der WordPress-Installation fortfahren.

Lassen Sie uns den Datenbankserver installieren und die Datenbank für WordPress erstellen.

MariaDB-Server installieren

sudo apt install mariadb-server

Führen Sie mysql_secure_installation aus, um den Server einzurichten.

sudo mysql_secure_installation

Sie können das Passwort des MySQL-Root-Benutzers erstellen. Wenn Sie kein Passwort für den Root-Benutzer erstellen möchten, melden Sie sich einfach beim MySQL-Root-Benutzer an, indem Sie sudo msyql verwenden .

Wenn Sie ein Root-Benutzerkennwort erstellt haben, melden Sie sich mit dem folgenden Befehl beim Root-Benutzer an –

mysql -u root -p

Or

sudo mysql (type sudo password when prompted)

Datenbank erstellen –

create database wordpress;
Tipp
Es wird dringend empfohlen, einen neuen MySQL-Benutzer für die WordPress-Datenbank zu erstellen.

MySQL-Benutzer erstellen –

create user 'sandy'@'localhost' identified by 'password';

Gewähren Sie dem neu erstellten Benutzer Datenbankrechte (Wordpress) –

grant all privileges on wordpress.* to 'sandy'@'localhost';

Bitte beachten Sie, dass wir diesen Datenbankbenutzer in WordPress verwenden, damit es sich mit der Datenbank verbinden kann. Das Verbinden von WordPress mit der Datenbank über den Root-Benutzer ist strengstens verboten.

Lassen Sie uns die erforderlichen Pakete installieren, einschließlich PHP und mehrerer PHP-Erweiterungen, die WordPress zum Funktionieren benötigt.

PHP 8-Repository hinzufügen

sudo add-apt-repository ppa:ondrej/php

Installieren Sie PHP und PHP-Erweiterungen –

sudo apt install php-cli php-fpm php-mysql php-json php-mbstring php-xml php-gd php-curl

Und das war es für unsere WordPress-Installation. Entfernen Sie die Beispieldatei index.html aus /var/www/gaminggroup.online .

WordPress herunterladen –

wget -O /tmp/wordpress.tar.gz https://wordpress.org/latest.tar.gz
sudo tar -xvf /tmp/wordpress.tar.gz -C /tmp/

Verschieben Sie WordPress-Dateien in das Stammverzeichnis der Website –

sudo mv /tmp/wordpress/* /var/www/gamingroup.online

Berechtigungen korrigieren –

sudo chown -R www-data:www-data /var/www/gaminggroup.online
sudo find /var/www/gaminggroup.online/ -type d -exec chmod 755 {} \;
sudo find /var/www/gaminggroup.online/ -type f -exec chmod 644 {} \;

Fügen Sie den folgenden location hinzu -Block in der Konfiguration der Website nach dem vorhandenen location blockieren, damit es mit WordPress funktioniert.

location ~ \.php$ {
               include snippets/fastcgi-php.conf;
        
               # With php-fpm (or other unix sockets):
               fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        }

Die endgültige Konfiguration sollte in etwa so aussehen –

server {
    listen 80;
    listen [::]:80;
    server_name  gaminggroup.online;


    root /var/www/gaminggroup.online;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;

    }

        location ~ \.php$ {
               include snippets/fastcgi-php.conf;
        
               # With php-fpm (or other unix sockets):
               fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        }
}

Und das ist alles für unser WordPress-Setup. Nun mussten weitere Schritte vom Webbrowser aus erledigt werden. Rufen Sie Ihren Domainnamen im Webbrowser auf und Sie werden auf die WordPress-Installationsseite weitergeleitet.

Klicken Sie auf „Los geht’s!“ für die Einrichtung einer Datenbank mit WordPress. Geben Sie nun den Datenbanknamen, den Datenbankbenutzernamen und das Passwort des Datenbankbenutzers ein, die wir oben erstellt haben, und klicken Sie auf „Senden“.

Klicken Sie auf „Installation ausführen“ und Sie können den Website-Titel eingeben, den WordPress-Administrator einrichten usw. Keine Sorge, Sie können diese Details später jederzeit ändern.

Und Überraschung Überraschung! Wir haben WordPress auf Nginx installiert. In den nächsten Tagen müssen Sie die Website einrichten, neue Themen und Plugins installieren und erstaunliche Inhalte veröffentlichen. Teilen Sie mit uns, was Sie erstellen! 🙂

Schlussfolgerung

Die Installation ist zwar abgeschlossen, aber da es sich um einen nicht verwalteten Server handelt, müssen Sie sich selbst um Ihren Server kümmern. Stellen Sie sicher, dass Sie den Server auf dem neuesten Stand halten, indem Sie regelmäßig Updates installieren oder besser unbeaufsichtigte Upgrades einrichten, um Updates automatisch zu installieren. Richten Sie außerdem Canonical Livepatch ein, um Kernel-Updates zu installieren, ohne dass der Server neu gestartet wird.

Wenn Sie WordPress vom alten Webhosting auf diesen Server migrieren möchten, lesen Sie bitte diese Anleitung. Oder lesen Sie diese Anleitung, wenn Sie Ihre Weebly-Site zu WordPress migrieren möchten.


Ubuntu
  1. So installieren Sie WordPress mit Nginx unter Ubuntu 18.04

  2. Hosten Sie WordPress in Ubuntu 20.04, Mysql 8, Ubuntu 20.04, Nginx

  3. So installieren Sie LEMP unter Ubuntu 16.04

  4. So installieren Sie WordPress unter Ubuntu 22.04

  5. Installieren Sie Nginx auf Ubuntu

So installieren Sie Nginx unter Ubuntu 18.04 LTS

So installieren Sie den Nginx-Webserver unter Ubuntu 20.04

Installieren Sie Nginx auf Ubuntu 18.04

Installieren Sie WordPress mit Nginx auf Ubuntu 18.04

So installieren Sie Nginx unter Ubuntu 14.04

So installieren Sie NGINX unter Ubuntu 20.04