Ci sono diversi motivi per cui vuoi utilizzare più versioni di PHP con Nginx sul tuo server. Se hai due applicazioni, una che gira su PHP 7.0 e una seconda che gira su PHP 7.2, allora devi usare più versioni di PHP sul tuo server. Puoi anche utilizzare un server separato per ogni versione di PHP, ma aumenterà il tuo costo di hosting. Installare più versioni di PHP con Nginx è la scelta migliore per ridurre i costi di hosting.
In questo tutorial, installeremo più versioni di PHP e configureremo Nginx per funzionare con entrambe le versioni di PHP.
Prerequisiti
- Un nuovo server VPS Ubuntu 18.04 su Atlantic.Net Cloud con minimo 2 GB di RAM.
- Due nomi di dominio validi puntati con il tuo indirizzo IP VPS. In questo tutorial utilizzeremo site1.example.com e site2.example.com.
Nota:puoi fare riferimento alla Guida DNS Atlantic per gestire i record DNS.
Fase 1:crea un server cloud Atlantic.Net
Per prima cosa, accedi al tuo server Atlantic.Net Cloud. Crea un nuovo server, scegliendo Ubuntu 18.04 come sistema operativo, con almeno 2GB di RAM. Collegati al tuo Cloud Server tramite SSH e accedi utilizzando le credenziali evidenziate in alto nella pagina.
Dopo aver effettuato l'accesso al tuo server Ubuntu 18.04, esegui il comando seguente per aggiornare il tuo sistema di base con gli ultimi pacchetti disponibili.
apt-get update -y
Fase 2 – Installa Nginx e MariaDB
Innanzitutto, dovrai installare il server web Nginx sul tuo server. Puoi installare Nginx semplicemente eseguendo il seguente comando:
apt-get install nginx mariadb-server -y
Una volta installato, avvia il server Nginx e MariaDB e abilita l'avvio dopo il riavvio del sistema con il seguente comando:
systemctl start nginx systemctl start mariadb systemctl enable nginx systemctl enable mariadb
Fase 3 – Installa PHP 7.0 e PHP 7.2 con PHP-FPM
Innanzitutto, dovrai aggiungere un repository PHP al tuo server per installare più versioni di PHP. Puoi aggiungere il repository PHP Ondrej con il seguente comando:
apt-get install software-properties-common -y add-apt-repository ppa:ondrej/php
Quindi, aggiorna il repository con il seguente comando:
apt-get update -y
Una volta che il repository è aggiornato, installa PHP 7.0, PHP 7.2 e PHP-FPM con il seguente comando:
apt-get install php7.0 php7.0-fpm php7.2 php7.2-fpm -y
Una volta completata l'installazione, controlla lo stato di PHP-FPM con il seguente comando:
systemctl status php7.0-fpm systemctl status php7.2-fpm
Fase 4:crea il sito Web1 e il sito Web2
Quindi, crea una directory radice del documento per Website1 e Website2 con il comando seguente:
mkdir /var/www/html/site1.example.com mkdir /var/www/html/site2.example.com
Quindi, crea un file index.php di esempio per il sito web site1.example.com:
nano /var/www/html/site1.example.com/index.php
Aggiungi le seguenti righe:
<?php phpinfo(); ?>
Salva e chiudi il file. Quindi, crea un file index.php per site2.example.com:
nano /var/www/html/site2.example.com/index.php
Aggiungi le seguenti righe:
<?php phpinfo(); ?>
Salva e chiudi il file. Quindi, cambia la proprietà di entrambi i siti Web 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
Fase 5 – Configura Nginx
Successivamente, dovrai creare un file host virtuale Nginx per il dominio site1.linuxbuz.com che utilizza PHP 7.0.
Puoi farlo con il seguente comando:
nano /etc/nginx/sites-available/site1.example.com.conf
Aggiungi le seguenti righe:
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; } }
Salva e chiudi il file.
Quindi, crea un file host virtuale Nginx per il dominio site2.example.com che utilizza PHP 7.2.
nano /etc/nginx/sites-available/site2.example.com.conf
Aggiungi le seguenti righe:
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; } }
Salva e chiudi il file. Quindi, abilita entrambi i file host virtuali con il seguente comando:
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/
Infine, riavvia il servizio Nginx e PHP-FPM per applicare tutte le modifiche alla configurazione:
systemctl restart nginx systemctl restart php7.0-fpm systemctl restart php7.2-fpm
Fase 6:verifica entrambi i siti Web
Entrambi i siti Web sono ora installati e configurati per l'esecuzione con più versioni di PHP.
Ora apri il tuo browser web e digita l'URL http://site1.example.com. Otterrai la seguente pagina che indica che il tuo sito Web1 è in esecuzione con PHP 7.0.
Quindi, apri il tuo browser web e digita l'URL http://site2.example.com. Otterrai la seguente pagina che indica che il tuo Website2 è in esecuzione con PHP 7.2.
Per ora è tutto.
Conclusione
Nell'articolo precedente, hai imparato come ospitare più siti Web con diverse versioni di PHP su Ubuntu 18.04. Ora dovresti avere abbastanza conoscenze per usare diverse versioni di PHP con diverse applicazioni. Se sei pronto per iniziare con un server privato virtuale per ospitare i tuoi siti web, visita la pagina Hosting VPS di Atlantic.Net per trovare il pacchetto di hosting che fa per te.