GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Hosten Sie mehrere Websites mit unterschiedlichen PHP-Versionen auf Ubuntu 18.04 VPS

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.


Linux
  1. So verwalten Sie mehrere Python-Versionen mit Pyenv unter Linux

  2. Führen Sie mehrere Versionen von PHP für verschiedene Domains in NGNIX aus

  3. Mehrere Versionen von PHP in Plesk

  4. Installieren Sie OwnCloud 7 mit Nginx und PHP-FPM auf einem Ubuntu VPS

  5. Installieren Sie PHP 7.1 mit Nginx auf Ubuntu 16.04

Verwendung mehrerer PHP-Versionen (PHP-FPM &FastCGI) mit ISPConfig 3 (Ubuntu 13.04)

Verwendung mehrerer PHP-Versionen (PHP-FPM &FastCGI) mit ISPConfig 3 (Ubuntu 12.10)

So verwenden Sie mehrere PHP-Versionen (PHP-FPM und FastCGI) mit ISPConfig 3 (CentOS 6.3)

Verwendung mehrerer PHP-Versionen (PHP-FPM &FastCGI) mit ISPConfig 3 (Ubuntu 12.04 LTS)

So hosten Sie mehrere Websites mit einem (1) Hosting-Konto

Hosten Sie mehrere Websites auf einem einzigen Server mit Apache unter Ubuntu 18.04