Linux dominiert das Feld der Server, aus denen das Internet besteht. Apache, Nginx, Lighttpd, OpenLiteSpeed sind einige der für Linux verfügbaren Webserver. In diesem Artikel werden wir Nginx besprechen und sehen, wie man es zusammen mit PHP unter Debian 10 installiert.
Was ist Nginx?
Nginx ist ein Open-Source-Webserver für Windows-, Linux-, Unix- und Unix-ähnliche Systeme. Es ist der Hauptkonkurrent von Apache. Der Hauptvorteil von Nginx ist die hohe Leistung bei hohem Datenverkehr. Sie können es auch als Reverse-Proxy, HTTP-Cache, Load Balancer und Proxy-Server für E-Mail (IMAP, POP3 und SMTP) verwenden.
Das effiziente Design von Nginx lässt es andere Webserver in Leistungstests übertreffen. Es passt perfekt und zeichnet sich in Situationen aus, in denen ein hohes Maß an Verkehr oder Anfragen herrscht. Das ist der Grund, warum viele große Unternehmen es für ihre Websites oder internen Webanwendungen verwenden.
Installieren Sie Nginx unter Debian
Normalerweise gibt es nur einen Webserver in einem System. Dies ist nicht obligatorisch, aber üblich. In diesem Handbuch gehen wir davon aus, dass der Server bereit ist und nicht viele Änderungen erlitten hat. Das bedeutet, dass darauf kein Webserver läuft.
Da Nginx so beliebt ist, ist es nicht verwunderlich, dass es in den offiziellen Debian 10-Repositories enthalten ist. Melden Sie sich bei Ihrem Debian-System an und führen Sie den folgenden Befehl nacheinander aus, um Nginx zu installieren.
1. Prüfen Sie, ob Nginx im Debian-Repository verfügbar ist
Wie oben erwähnt, sollte Nginx im Debian-Repository verfügbar sein. Führen Sie den folgenden Befehl aus, um dies zu überprüfen.
:~$ sudo apt list nginx
Sie erhalten eine Bildschirmausgabe ähnlich dieser:
Das heißt, wir werden Version 1.14.2 installieren. Die Version kann etwas älter sein. Aber Sie sollten sich keine Sorgen machen, da es ziemlich stabil und robust ist.
2. Installieren Sie Nginx
Wir werden den apt-Befehl zur Installation verwenden. Dieser Befehl kümmert sich während der Installation um alle Abhängigkeiten.
:~$ sudo apt install nginx
Geben Sie Ihr Passwort ein, um mit der Installation zu beginnen. Am Ende ist der Dienst aktiv und kann mit dem System gestartet werden.
Verwenden Sie den folgenden Befehl, um den Nginx-Dienst mit dem Befehl systemctl zu starten und zu stoppen
:~$ sudo systemctl stop nginx
:~$ sudo systemctl start nginx
3. Konfigurieren Sie die Firewall
Sie müssen die Firewall konfigurieren, damit Ihr Server die Verbindung akzeptieren kann. Öffnen Sie die Ports 80 und 443 mit dem unten angegebenen Befehl
:~$ sudo ufw allow 'Nginx HTTP'
Sie können den Status mit dem unten angegebenen Befehl überprüfen
:~$ sudo ufw status
4. Testen Sie Ihren Server
Öffnen Sie den Webbrowser und geben Sie http://IP-ADRESSE oder http://Domänenname ein, um herauszufinden, ob alles geklappt hat
Sie sollten ein Bild wie dieses sehen, das anzeigt, dass Nginx ordnungsgemäß funktioniert.
Installieren Sie PHP unter Debian
PHP ist eine weit verbreitete Open-Source-Skriptsprache. Es ist auch im Standard-Repository von Debian 10 verfügbar. Sie müssen also keine Drittanbieter-PPA hinzufügen.
Um PHP und einige seiner Hauptmodule zu installieren, führen Sie einfach den folgenden Befehl aus:
:~$ sudo apt install php7.3-fpm php7.3-common php7.3-mysql php7.3-gmp php7.3-curl php7.3-intl php7.3-mbstring php7.3-xmlrpc php7.3-gd php7.3-xml php7.3-cli php7.3-zip php7.3-soap php7.3-imap
Jetzt sind sowohl Nginx als auch PHP ordnungsgemäß installiert. Sie müssen Nginx so konfigurieren, dass es PHP-Dateien interpretieren kann. Mal sehen, wie das geht.
Hinzufügen von PHP-Unterstützung zu Nginx
Gehen Sie zu /var/www/html/ Verzeichnis, in dem Dateien und Websites in Debian verarbeitet werden, und ändern Sie den Besitzer, Berechtigungen für dieses Verzeichnis.
:~$ sudo chmod 755 -R /var/www/html/ :~$ sudo chown www-data:www-data -R /var/www/html/
Dadurch ersparen Sie sich Probleme beim Ausführen von Websites und Anwendungen.
Als nächstes müssen Sie einige Änderungen an der Standard-Nginx-Konfigurationsdatei vornehmen. Diese Datei konfiguriert die Seiten und Websites, die sich im Standardstammverzeichnis befinden. Wenn Sie also einen virtuellen Host hinzufügen, müssen Sie eine neue Konfigurationsdatei erstellen.
Bearbeiten Sie es also.
:~$ sudo nano /etc/nginx/sites-available/default
Suchen Sie den location
Abschnitt ist die Datei nicht sehr groß, sodass Sie sie schnell finden werden. Also lass es so sein:
location ~ \.php$ { include snippets/fastcgi-php.conf; # With php-fpm (or other unix sockets): fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; # With php-cgi (or other tcp sockets): # fastcgi_pass 127.0.0.1:9000; }
Speichern Sie die Änderungen und schließen Sie den Editor.
Testen Sie PHP mit Nginx
Um nun zu testen, ob PHP von Nginx interpretiert wird, erstellen wir eine neue Datei mit etwas PHP-Code.
Erstellen Sie also im Nginx-Stammverzeichnis ein neues mit phpinfo
Methode.
:~$ sudo nano /var/www/html/test.php
<?php phpinfo(); ?>
Speichern Sie ebenso die Änderungen und schließen Sie die Datei.
Damit alle Änderungen in Nginx wirksam werden, muss der Dienst neu gestartet werden.
:~$ sudo systemctl restart nginx
Und Sie können den Dienststatus mit dem folgenden Befehl überprüfen:
:~$ sudo systemctl status nginx
Öffnen Sie nun erneut Ihren Webbrowser und öffnen Sie die Datei:
http://IP-ADDRESS/test.php or http://domain-name/test.php
Also, Nginx und PHP haben korrekt auf Debian 10 installiert. Alles lief gut.
Schlussfolgerung
Bei Nginx können wir feststellen, dass es sich um einen sehr effizienten Webserver handelt, der vor allem bereit ist, bei viel Verkehr die maximal mögliche Leistung zu erbringen. Außerdem erfordert es etwas mehr Konfiguration als Apache, damit es mit PHP funktioniert, aber es ist auch nicht kompliziert und es lohnt sich.
Andererseits ist Nginx ein ziemlich beliebtes Programm mit einer Menge Dokumentation zum Lesen und Studieren.
Jetzt bist du dran, magst du Nginx? oder bevorzugen Sie Apache?