Linux Deploy LNMP

LinuxBeginner
Jetzt üben

Einführung

LNMP kombiniert vier Open-Source-Softwarekomponenten: Linux, Nginx, MySQL und PHP. Diese Software-Stack wird häufig verwendet, um dynamische Webanwendungen und Websites zu betreiben. Hier ist eine kurze Übersicht über jede Komponente:

  • Linux: Ein Betriebssystem, das die Grundlage für den restlichen Stack bildet.
  • Nginx: Ein leistungsstarker Webserver und Reverse Proxy, der erhebliche Datenmengen verarbeiten und statische Inhalte effizient bereitstellen kann.
  • MySQL: Ein beliebtes relationales Datenbankmanagementsystem, das eine zuverlässige Möglichkeit bietet, Daten für Webanwendungen zu speichern und abzurufen.
  • PHP: Eine Skriptsprache, die weit verbreitet bei der Webentwicklung eingesetzt wird und Ihnen ermöglicht, serverseitigen Code zu schreiben, der dynamischen HTML-Inhalte erzeugt.

Zusammen bilden diese Komponenten eine leistungsstarke und flexible Plattform zum Bau und zur Bereitstellung moderner Webanwendungen. LNMP ähnelt sich LAMP (Linux, Apache, MySQL und PHP), verwendet jedoch Nginx anstelle von Apache als Webserver. Nginx ist bekannt für seine Geschwindigkeit und Effizienz und ist daher eine beliebte Wahl für hochbesuchte Websites und Anwendungen.

Installiere Nginx

Sicher, hier sind die genauen Schritte, um Nginx auf einem Linux-System zu installieren:

  1. Aktualisiere die Paketlisten: Führe den folgenden Befehl aus, um die Paketlisten auf dem Server zu aktualisieren:
sudo apt-get update
  1. Verwende den folgenden Befehl, um Nginx zu installieren:
sudo apt-get install nginx
  1. Überprüfe, ob Nginx erfolgreich installiert ist
nginx -v

Das folgende Bild zeigt an, dass Nginx erfolgreich installiert wurde und die derzeit installierte Version 1.18.0 ist.

nginx version: nginx/1.18.0

Installiere MySQL

Hier sind die genauen Schritte, um MySQL auf einem Linux-System zu installieren:

  1. Verwende den folgenden Befehl, um MySQL zu installieren:
sudo apt update
sudo apt-get install mysql-server
  1. Überprüfe, ob der MySQL-Server installiert ist:
mysql --version

Die folgende Abbildung zeigt an, dass MySQL erfolgreich installiert ist.

mysql  Ver 8.0.35-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))
  1. Überprüfe, ob MySQL gestartet ist, und wenn nicht, starte es mit dem folgenden Befehl.
sudo systemctl status mysql
sudo systemctl start mysql

Hinweis: Der zweite Befehl sollte sudo systemctl start mysql lauten, da systemctl ein anderer Befehl ist und hier nicht funktioniert. Ich habe die Korrektur vorgenommen.

Installiere PHP

Hier sind die genauen Schritte, um PHP auf einem Linux-System zu installieren:

  1. Installiere PHP und die zugehörigen Module: Verwende den folgenden Befehl, um PHP und seine zugehörigen Module zu installieren.
sudo apt update
sudo apt-get install php8.1-fpm php-mysql

Dadurch wird der PHP FastCGI Process Manager (php-fpm) und die MySQL-Erweiterung für PHP (php-mysql) installiert.

  1. Überprüfe die PHP-Version.
sudo php -v

Die folgende Abbildung zeigt an, dass PHP erfolgreich installiert ist.

PHP 8.1.2-1ubuntu2.14 (cli) (built: Aug 18 2023 11:41:11) (NTS)

Konfiguriere Nginx

Sobald Nginx installiert ist, muss es konfiguriert werden, um mit anderen Komponenten zusammenzuarbeiten. Folgen Sie diesen Schritten, um das zu tun:

  1. Bearbeite die Nginx-Konfigurationsdatei /etc/nginx/sites-available/default:
sudo vim /etc/nginx/sites-available/default
  1. Ersetze den bestehenden Inhalt durch folgenden:
server {
     listen 80 default_server;
     listen [::]:80 default_server;

     root /var/www/html;
     index index.php index.html index.htm index.nginx-debian.html;

     server_name _;

     location / {
            index index.php index.html index.htm;
        }

     location ~ \.php$ {
            fastcgi_pass unix:/run/php/php-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
}
  1. Überprüfe, ob die Nginx-Konfiguration korrekt ist:
sudo nginx -t
  1. Neulade nginx
sudo nginx -s reload

Konfiguriere MySQL

  1. Führe den folgenden Befehl aus, um auf MySQL zuzugreifen.
sudo mysql
  1. Führe den folgenden Befehl aus, um das Passwort des root-Benutzers festzulegen
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'Mysql@1234'
  1. Führe den folgenden Befehl aus, um die MySQL-Datenbank zu verlassen
exit

Konfiguriere PHP

  1. Erstelle und bearbeite eine neue phpinfo.php-Datei, um PHP-Informationen anzuzeigen.
sudo vim /var/www/html/phpinfo.php

Schreibe den folgenden Inhalt.

<?php echo phpinfo();?>

Tipp: Dort, wo /var/www/html das Stammverzeichnis der Website ist, kann es mit dem Befehl cat /etc/nginx/sites-enabled/default angesehen werden.

  1. Starte PHP-FPM: Sobald die Installation abgeschlossen ist, starte den PHP-FPM-Dienst mit dem folgenden Befehl.
sudo systemctl start php8.1-fpm

Tipp: Beachten Sie, dass der genaue Name des PHP-FPM-Diensts je nach Ihrer Linux-Distribution und PHP-Version variieren kann.

  1. Ermögliche PHP-FPM, beim Start automatisch zu starten: Um sicherzustellen, dass PHP-FPM automatisch beim Start des Servers gestartet wird, führe den folgenden Befehl aus.
sudo systemctl enable php8.1-fpm

Verifizieren

Gib http://127.0.0.1/phpinfo.php in die Adresszeile deines Browsers ein, um darauf zuzugreifen.

Das Zugangsergebnis wird unten gezeigt. Die PHP-Konfigurationsinformationsseite wird erfolgreich angezeigt, was bedeutet, dass die LNMP-Umgebung erfolgreich bereitgestellt wurde.

PHP info page displayed

Alternativ kann der curl-Befehl verwendet werden, um zu überprüfen.

curl http://127.0.0.1/phpinfo.php -I

Zusammenfassung

Wenn Sie diese Schritte abgeschlossen haben, sollten Sie die LNMP-Stack erfolgreich bereitgestellt haben. Sie können Ihren Website-Code im Verzeichnis /var/www/html ablegen und Ihre Website besuchen, um sicherzustellen, dass sie richtig funktioniert.