Es gibt mehrere Gründe, warum Sie mehrere Versionen von PHP mit Nginx auf Ihrem Server verwenden möchten. Wenn Sie zwei Anwendungen haben, eine Anwendung, die auf PHP 7.0 ausgeführt wird, und eine zweite Anwendung, die auf PHP 7.2 ausgeführt wird, müssen Sie mehrere PHP-Versionen auf Ihrem Server verwenden. Sie können auch für jede PHP-Version einen separaten Server verwenden, dies erhöht jedoch Ihre Hosting-Kosten. Die Installation mehrerer PHP-Versionen mit Nginx ist die beste Wahl, um die Hosting-Kosten zu senken.
In diesem Tutorial werden wir mehrere Versionen von PHP installieren und Nginx so konfigurieren, dass es mit beiden Versionen von PHP funktioniert.
Voraussetzungen
- Ein frischer Ubuntu 18.04 Server VPS auf Atlantic.Net Cloud mit mindestens 2 GB RAM.
- Zwei gültige Domänennamen, auf die Ihre VPS-IP-Adresse verweist. In diesem Tutorial verwenden wir site1.example.com und site2.example.com.
Hinweis:Informationen zur Verwaltung der DNS-Einträge finden Sie im Atlantic DNS Guide.
Schritt 1 – Atlantic.Net Cloud-Server erstellen
Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server mit Ubuntu 18.04 als Betriebssystem und mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.
Sobald Sie sich bei Ihrem Ubuntu 18.04-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.
apt-get update -y
Schritt 2 – Nginx und MariaDB installieren
Zuerst müssen Sie den Nginx-Webserver auf Ihrem Server installieren. Sie können Nginx installieren, indem Sie einfach den folgenden Befehl ausführen:
apt-get install nginx mariadb-server -y
Starten Sie nach der Installation Nginx und MariaDB-Server und ermöglichen Sie ihnen, nach dem Systemneustart mit dem folgenden Befehl zu starten:
systemctl start nginx systemctl start mariadb systemctl enable nginx systemctl enable mariadb
Schritt 3 – Installieren Sie PHP 7.0 und PHP 7.2 mit PHP-FPM
Zuerst müssen Sie Ihrem Server ein PHP-Repository hinzufügen, um mehrere Versionen von PHP zu installieren. Sie können das Ondrej-PHP-Repository mit dem folgenden Befehl hinzufügen:
apt-get install software-properties-common -y add-apt-repository ppa:ondrej/php
Aktualisieren Sie als Nächstes das Repository mit dem folgenden Befehl:
apt-get update -y
Sobald das Repository auf dem neuesten Stand ist, installieren Sie PHP 7.0, PHP 7.2 und PHP-FPM mit dem folgenden Befehl:
apt-get install php7.0 php7.0-fpm php7.2 php7.2-fpm -y
Überprüfen Sie nach Abschluss der Installation den Status von PHP-FPM mit dem folgenden Befehl:
systemctl status php7.0-fpm systemctl status php7.2-fpm
Schritt 4 – Website1 und Website2 erstellen
Erstellen Sie als Nächstes mit dem folgenden Befehl ein Dokumentstammverzeichnis für Website1 und Website2:
mkdir /var/www/html/site1.example.com mkdir /var/www/html/site2.example.com
Erstellen Sie als Nächstes eine index.php-Beispieldatei für die Website site1.example.com:
nano /var/www/html/site1.example.com/index.php
Fügen Sie die folgenden Zeilen hinzu:
<?php phpinfo(); ?>
Speichern und schließen Sie die Datei. Erstellen Sie dann eine index.php-Datei für site2.example.com:
nano /var/www/html/site2.example.com/index.php
Fügen Sie die folgenden Zeilen hinzu:
<?php phpinfo(); ?>
Speichern und schließen Sie die Datei. Ändern Sie dann den Eigentümer beider Websites in www-data:
chown -R www-data:www-data /var/www/html/site1.example.com chown -R www-data:www-data /var/www/html/site2.example.com
Schritt 5 – Nginx konfigurieren
Als Nächstes müssen Sie eine virtuelle Nginx-Hostdatei für die Domain site1.linuxbuz.com erstellen, die PHP 7.0 verwendet.
Sie können dies mit dem folgenden Befehl tun:
nano /etc/nginx/sites-available/site1.example.com.conf
Fügen Sie die folgenden Zeilen hinzu:
server { listen 80;
root /var/www/html/site1.example.com/; index index.php;
server_name site1.example.com;
location / { try_files $uri $uri/ =404; }
location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Speichern und schließen Sie die Datei.
Erstellen Sie als Nächstes eine virtuelle Nginx-Hostdatei für die Domain site2.example.com, die PHP 7.2 verwendet.
nano /etc/nginx/sites-available/site2.example.com.conf
Fügen Sie die folgenden Zeilen hinzu:
server { listen 80; root /var/www/html/site2.example.com/; index index.php; server_name site2.example.com; location / { try_files $uri $uri/ =404; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Speichern und schließen Sie die Datei. Aktivieren Sie dann beide virtuellen Hostdateien mit dem folgenden Befehl:
ln -s /etc/nginx/sites-available/site1.example.com.conf /etc/nginx/sites-enabled/ ln -s /etc/nginx/sites-available/site2.example.com.conf /etc/nginx/sites-enabled/
Starten Sie schließlich Nginx und den PHP-FPM-Dienst neu, um alle Konfigurationsänderungen zu übernehmen:
systemctl restart nginx systemctl restart php7.0-fpm systemctl restart php7.2-fpm
Schritt 6 – Beide Websites testen
Beide Websites sind jetzt installiert und konfiguriert und laufen mit mehreren Versionen von PHP.
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://site1.example.com ein. Sie erhalten die folgende Seite, die anzeigt, dass Ihre Website1 mit PHP 7.0 ausgeführt wird.
Öffnen Sie als Nächstes Ihren Webbrowser und geben Sie die URL http://site2.example.com ein. Sie erhalten die folgende Seite, die anzeigt, dass Ihre Website2 mit PHP 7.2 läuft.
Das war es für jetzt.
Schlussfolgerung
Im obigen Artikel haben Sie gelernt, wie Sie mehrere Websites mit unterschiedlichen PHP-Versionen auf Ubuntu 18.04 hosten. Sie sollten jetzt über ausreichende Kenntnisse verfügen, um verschiedene PHP-Versionen mit verschiedenen Anwendungen zu verwenden. Wenn Sie bereit sind, mit einem virtuellen privaten Server zum Hosten Ihrer Websites zu beginnen, besuchen Sie die VPS-Hosting-Seite von Atlantic.Net, um ein für Sie geeignetes Hosting-Paket zu finden.