So richten Sie den LEMH-Stack (Linux, Nginx, MariaDB, HHVM) in Ubuntu Server ein

Wenn Sie bereits einen Linux-Server verwaltet haben, sind Sie mit dem häufig verwendeten LAMP-Stack (Linux, Apache, MySQL, PHP) vertraut. Allerdings können Apache, MySQL und PHP manchmal ressourcenintensiv sein und sind möglicherweise nicht das Beste für Ihren Server. In diesem Tutorial werden wir jeden einzelnen Teil des Stacks außer Linux durch eine bessere Alternative ersetzen – Nginx, MariaDB und HHVM.

Annahme

1. Dieses Tutorial wird auf einem Ubuntu 14.04-Server durchgeführt, obwohl die Anweisungen auch für jede Debian-basierte Distribution funktionieren.

2. Dieses Tutorial konzentriert sich nur auf die Installation und Einrichtung des LEMH-Stacks. Der Sicherheitsaspekt des Servers wird nicht berührt.

3. Um dieses Tutorial durchführen zu können, müssen Sie bereits über SSH-Zugriff auf Ihren Server (oder physischen Zugriff auf Ihren Computer) verfügen.

Nginx installieren

Nginx ist ein leichter und dennoch leistungsstarker Ersatz für Apache. Es handelt sich um einen Open-Source-Reverse-Proxy-Server sowie einen Webserver mit einem starken Fokus auf hohe Parallelität, hohe Leistung und geringe Speichernutzung. Beachten Sie, dass Nginx nicht mit Apache kompatibel ist, sodass die gesamte Apache-Konfiguration, insbesondere die von Ihnen erstellten .htaccess-Dateien, in Nginx nicht funktionieren. Es ist auch möglich, sowohl Apache als auch Nginx auf demselben Server auszuführen, aber das erfordert eine komplizierte Konfiguration, die wir hier nicht behandeln.

Nginx befindet sich im Ubuntu-Repository, ist jedoch häufig veraltet. Um die neueste stabile Version zu erhalten, fügen Sie das folgende PPA zu Ihrem System hinzu:

[enlazatom_show_links]
sudo add-apt-repository ppa:nginx/stable sudo apt-get update

Die neueste Version von Nginx zum Zeitpunkt dieses Beitrags ist 1.6.2. Wenn Sie alternativ die neueste Entwicklungsversion ausprobieren möchten, können Sie stattdessen dieses PPA verwenden:

sudo add-apt-repository ppa:nginx/development sudo apt-get update

Die neueste Entwicklungsversion zum Zeitpunkt dieses Beitrags ist 1.7.8.

Um Nginx zu installieren, führen Sie den folgenden Befehl aus:

sudo apt-get install nginx

Führen Sie nach der Installation den folgenden Befehl aus, um sicherzustellen, dass es gestartet wird:

Gehen Sie als Nächstes in Ihrem Webbrowser zur URL „http://123.4.56.789“ (ersetzen Sie 123.4.56.789 durch die IP-Adresse Ihres Servers), und Sie sollten Folgendes sehen:

MariaDB installieren

MySQL ist seit vielen Jahren der Standard-Datenbankverwaltungsdienst für viele Anwendungen. Seitdem es von Oracle übernommen wurde, begannen viele Leute, seine „Open-Source“-Eigenschaft in Frage zu stellen, und die Community (zu der auch der Gründer von MySQL gehörte) beschloss, einen Fork von MySQL zu erstellen und nannte ihn MariaDB. MariaDB ist ein Drop-in-Ersatz für MySQL, was bedeutet, dass es vollständig mit MySQL-Datenbanken kompatibel ist und als vollständiger Ersatz für MySQL verwendet werden kann.

Interessante Tatsache: MySQL wurde von Michael Widenius gegründet und ist nach seiner ersten Tochter My benannt. Der Hauptentwickler von MariaDB ist ebenfalls Michael Widenius und ist nach seiner zweiten Tochter Maria benannt.

Wenn Sie auf Ihrem Server bereits MySQL installiert haben, ist es am besten, MySQL vollständig zu entfernen, bevor Sie MariaDB installieren:

sudo apt-get remove --purge mysql-server mysql-client mysql-common sudo apt-get autoremove sudo rm -rf /var/lib/mysql sudo apt-get autoclean

Als nächstes fügen Sie die PPA für MariaDB hinzu:

sudo apt-get install software-properties-common sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db sudo add-apt-repository 'deb http://sfo1.mirrors .digitalocean.com/mariadb/repo/10.0/ubuntu trusty main' sudo apt-get update

Beachten Sie, dass Sie dies auch tun können Generieren Sie hier Ihr eigenes PPA und finden Sie den Standort, der Ihrem Server am nächsten liegt.

Installieren Sie MariaDB mit diesem Befehl:

sudo apt-get install mariadb-server

Während der Installation werden Sie aufgefordert, ein Passwort für den Root-Benutzer festzulegen.

Nach der Installation können Sie MariaDB mit dem Befehl starten:

PHP und HHVM installieren

HHVM ist kein Ersatz für PHP. Es handelt sich um eine virtuelle Open-Source-Maschine, die für die Ausführung von in Hack und PHP geschriebenen Programmen entwickelt wurde. HHVM verwendet einen Just-in-Time-Kompilierungsansatz (JIT), um eine überlegene Leistung zu erzielen und gleichzeitig die Entwicklungsflexibilität von PHP beizubehalten.

Bevor wir HHVM installieren, ist es wichtig, zunächst PHP auf dem Server zu installieren. Anstatt das vollständige PHP5-Paket zu installieren, das eine Reihe von Apache-Dateien enthält, installieren wir nur php5-fpm, das dann die erforderlichen PHP-Abhängigkeiten installiert. Außerdem benötigen wir php5-fpm als Fallback für HHVM.

sudo apt-get install php5-fpm php5-mysql php5-curl

Wenn Sie fertig sind, installieren Sie HHVM mit den folgenden Befehlen:

wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add - echo deb http://dl.hhvm.com/ubuntu trusty main | sudo tee /etc/apt/sources.list.d/hhvm.list sudo apt-get update sudo apt-get install hhvm

Nachdem HHVM installiert ist, fahren Sie mit der Konfiguration für Nginx mit dem folgenden Befehl fort:

sudo /usr/share/hhvm/install_fastcgi.sh

Starten Sie abschließend HHVM neu

Sudo-Dienst hhvm neu starten

Um zu testen, ob HHVM funktioniert, erstellen Sie eine „phpinfo.php“-Datei im Nginx-Stammordner.

sudo nano /var/www/html/phpinfo.php

und fügen Sie die folgende Zeile ein:

Drücken Sie „Strg + o“ zum Speichern und „Strg + x“ zum Beenden.

Laden Sie in Ihrem Browser die URL: http://123.4.56.789/phpinfo.php (ersetzen Sie 123.4.56.789 durch die IP-Adresse Ihres Servers). Sie sollten nur das Wort „HipHop“ sehen, um zu zeigen, dass HHVM funktioniert.

Konfigurieren von Websites für die Ausführung in Nginx und HHVM (mit PHP5-FPM-Fallback)

Nachdem Sie nun alles eingerichtet haben, ist es an der Zeit, einen virtuellen Host zum Betrieb Ihrer Website zu erstellen.

Erstellen Sie eine neue Konfigurationsdatei, die Ihre Website-Details enthält:

sudo nano /etc/nginx/sites-available/my-site

und fügen Sie den folgenden Ausschnitt ein:

server { listen 80; Hören [::]:80; root /var/www/html; # Fügen Sie index.php zur Liste hinzu, wenn Sie PHP verwenden index index.html index.htm; Servername meinewebsite.com; include hhvm-with-fallback.conf; location / { # Erster Versuch, die Anfrage als Datei zu bedienen, dann # als Verzeichnis, dann auf die Anzeige von 404 zurückgreifen. try_files $uri $uri/ =404; } # übergeben Sie die PHP-Skripte an den FastCGI-Server, der 127.0.0.1:9000 überwacht # location @fallback { # include snippets/fastcgi-php.conf; # # # Mit php5-fpm: fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_params einschließen; } # Zugriff auf .htaccess-Dateien verweigern, wenn Apaches Dokumentstammverzeichnis # mit Nginxs einzigem # Speicherort übereinstimmt ~ /\.ht { deny all; } }

Sie können den Servernamen so ändern, dass er auf Ihre eigene Domäne und den Stammordner verweist, in dem die Dateien bereitgestellt werden sollen.

HHVM weist den Fehler auf, dass es gelegentlich abstürzt, ohne sich selbst neu zu starten. Dies führt dazu, dass die Website mit einem 500-Fehler fehlschlägt. In diesem Fall erstellen wir ein Fallback-System, bei dem PHP5-FPM übernimmt, wenn HHVM ausfällt. Ist Ihnen der Standort-@fallback-Block im obigen Konfigurationsausschnitt aufgefallen? Das ist der Rückruf, wenn HHVM ausfällt. Um die Gleichung zu vervollständigen, müssen wir noch die Datei „hhvm-with-fallback.conf“ erstellen, die eine modifizierte Version der Datei „hhvm.conf“ ist.

sudo nano /etc/nginx/hhvm-with-fallback.conf

Fügen Sie den folgenden Ausschnitt ein:

Standort ~ \.(hh|php)$ { Proxy_Intercept_errors on; error_page 500 501 502 503 = @fallback; fastcgi_keep_conn on; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_params einschließen; }

Speichern und beenden Sie die Datei.

Testen Sie abschließend die Nginx-Einstellungen mit

und wenn alles in Ordnung ist, starten Sie Nginx neu.

Sudo-Dienst Nginx neu starten

Das ist es. Sie haben die Einrichtung des LEMH-Stacks auf Ihrem Linux-Server abgeschlossen.

Index
  1. Annahme
  2. Nginx installieren
  3. MariaDB installieren
  4. PHP und HHVM installieren
  5. Konfigurieren von Websites für die Ausführung in Nginx und HHVM (mit PHP5-FPM-Fallback)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Go up