So installieren Sie mehrere PHP -Versionen mit Nginx auf Ubuntu 18.04 & 16.04

So installieren Sie mehrere PHP -Versionen mit Nginx auf Ubuntu 18.04 & 16.04

Im Allgemeinen verwendete der Webhosting -Manager einen separaten Server für jede Bereitstellung von PHP -Versionsanwendungen. Was die Hosting -Kosten erhöht. Alternativ können Sie mehrere Docker -Container für mehrere PHP -Versionen ausführen.

Dieses Tutorial hilft Ihnen bei der Installation und Konfiguration von zwei VirtualHost auf dem NGINX -Webserver mit verschiedenen PHP -Versionen. First VirtualHost wird mit PHP 5 zusammenarbeiten.6 und ein weiterer virtualhost wird mit PHP 7 laufen.2. Gehen Sie also einfach dieses Tutorial durch. Sie können auch mehr als zwei PHP -Versionen mit Nginx nach Bedarf verwenden, aber dieses Tutorial deckt nur zwei ab.

PHP -Installation

Für die Installation von PHP -Versionen verwenden wir die hier gehaltene PPA. Verwenden Sie die folgenden Befehle, um das PPA zu Ihrem System hinzuzufügen.

sudo apt installieren Sie Python-Software-Properties sudo adapt-repository pPA: Ondrej/PHP 

Für dieses Tutorial habe ich PHP 5 verwendet.6 und Php 7.2 So konfigurieren Sie es mit dem Nginx -Webserver. Um die mehreren PHP -Versionen zu verwenden, verwenden wir PHP FPM und FastCGI. Installieren wir die folgenden Pakete in Ihrem System.

APT Update sudo APT Installieren Sie PHP5.6 Php5.6-fpm sudo APT Installieren Sie PHP7.2 Php7.2-fpm 

Möglicherweise müssen Sie auch zusätzliche PHP -Module installieren. Für das Tutorial sind nur die oben genannten Pakete erforderlich.

Nach der Installation werden PHP-FPM-Dienste automatisch gestartet. Verwenden Sie die folgenden Befehle, um sicherzustellen, dass beide Dienste ausgeführt werden.

sudo systemctl Status PHP5.6-fpm sudo systemctl Status PHP7.2-fpm 
  • Empfohlen: So aktivieren/deaktivieren Sie PHP -Module auf Ubuntu

Nginx -Installation

Der Nginx -Webserver ist Pakete im offiziellen Ubuntu -Repository verfügbar. Starten Sie das Terminal auf Ihrem System oder melden Sie sich mit SSH für Remote -Systeme an. Führen Sie die folgenden Befehle aus, um die neueste verfügbare Version des NGINX -Webservers zu installieren.

sudo apt aktualisieren sudo apt install nginx 

Nginx -Konfiguration

Machen Sie sich bereit für die Konfiguration von Websites auf dem NGINX -Server. Für den Testzweck konfiguriere ich zwei Websites, um mit zwei verschiedenen 2 PHP-Versionen zu arbeiten. Erstellen Sie zunächst zwei Verzeichnisse auf Ihrem Server.

sudo mkdir/var/www/php56 sudo mkdir/var/www/php72 

Jetzt erstellen und Index.Php enthält das phpinfo () Funktion.

echo "">/var/www/php56/Index.PHP echo "">/var/www/php72/Index.Php 

Danach erstellen Sie Serverblöcke für beide Websites auf Nginx. Die neueste Version von NGINX hält die Server-Block-Konfigurationsdateien unter/etc/nginx/seites-verfügbare Verzeichnisse bei. Erstellen Sie eine Datei für den ersten virtuellen Host und bearbeiten Sie in Ihrem bevorzugten Texteditor.

sudo vim/etc/nginx/sites-verfügbare/php56.Beispiel.com 

Fügen Sie den folgenden Inhalt hinzu. Stellen Sie sicher. Diese Website ist so konfiguriert, dass sie mit PHP 5 funktioniert.6.

# Anwendung mit PHP 5.6 # Server Hören 80; root/var/www/php56; Indexindex.PHP; server_name php56.Beispiel.com; Ort ~* \.Php $  # mit Php-FPM UNIX-Sockets FASTCGI_PASS UNIX:/VAR/RUN/PHP/PHP5.6-fpm.Socke; FASTCGI_PARAMS einschließen; fastcgi_param script_filename $ document_root $ fastcgi_script_name; fastcgi_param script_name $ fastcgi_script_name;  

Erstellen Sie in ähnlicher Weise eine zweite VirtualHost -Konfigurationsdatei für die Arbeit mit PHP 7.2. Konfigurationsdatei im Texteditor bearbeiten:

sudo vim/etc/nginx/sites-verfügbare/php72.Beispiel.com 

Fügen Sie den folgenden Inhalt hinzu, um mit ordnungsgemäßer Serverame und documentRoot versehen zu werden.

# Anwendung mit PHP 7.2 # Server Hören 80; root/var/www/php72; Indexindex.PHP; server_name php72.Beispiel.com; Ort ~* \.Php $  # mit Php-FPM UNIX-Sockets FASTCGI_PASS UNIX:/VAR/RUN/PHP/PHP7.2-fpm.Socke; FASTCGI_PARAMS einschließen; fastcgi_param script_filename $ document_root $ fastcgi_script_name; fastcgi_param script_name $ fastcgi_script_name;  

In Ordnung, Sie haben beide Websites in Ihrem nginx erstellt. Aber sie sind immer noch nicht aktiv. Nginx behält aktive Stellen unter/etc/nignx/sites-fähige Verzeichnisse auf. Sie können einfach einen symbolischen Link für beide Konfigurationsdateien für dieses Verzeichnis erstellen oder den folgenden Befehl verwenden, um dasselbe zu tun.

sudo ln -s/etc/nginx/sites -verfügbare/php56.Beispiel.com/etc/nginx/sites-fähig/sudo ln -s/etc/nginx/sites-verfügbar/php72.Beispiel.com/etc/nginx/sites-fähig/ 

Nachdem alle Änderungen Nginx neu gestartet haben, um neue Einstellungen neu zu laden.

sudo systemctl starten nginx neu.Service 

Ihr Setup wurde jetzt abgeschlossen. Gehen Sie zum nächsten Schritt, um Ihr Setup zu testen.

Versuchsaufbau

Alles erledigt. Sie können auf beide Websites in Ihrem Favirote -Webbrowser zugreifen . Du wirst das sehen Php56.Beispiel.com Zeigt die Version an Php 5.6 Und Php72.Beispiel.com zeigt die Php 7.2 als Konfiguration.

Herzlichen Glückwunsch, Ihr System ist bereit, Websites mit verschiedenen PHP -Versionen zu hosten. Viel Spaß beim Hosting.