Apache e Nginx sono gratuiti, open source e popolari:i server Web più utilizzati in tutto il mondo. Apache e Nginx funzionano entrambi su tutti i sistemi operativi basati su Unix. Apache è noto per la sua potenza, mentre Nginx è noto per la sua velocità. Nginx utilizzato anche come proxy inverso per HTTP, HTTPS, IMAP, SMTP, POP3 e come bilanciatore di carico.
PHP-FPM (FastCGI Process Manager) è un'implementazione PHP FastCGI alternativa appositamente progettata per siti Web ad alto carico. PHP-FPM ti consente di eseguire più versioni di PHP alla volta. PHP-FPM può essere eseguito in un modo diverso rispetto a mod_PHP su un server web. Se stai cercando di ospitare la tua applicazione web con prestazioni ottimali, PHP-FPM è la scelta migliore per te.
In questo tutorial spiegheremo come abilitare il supporto PHP-FPM su server web Apache e Nginx su un server Ubuntu 18.04.
Prerequisiti
- Un nuovo VPS Ubuntu 18.04 sulla piattaforma Atlantic.Net Cloud.
- Un nome di dominio valido puntato al tuo indirizzo IP VPS.
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
Passaggio 2:abilitare il supporto PHP-FPM su Apache Web Server
In questa sezione impareremo come installare e abilitare il supporto PHP-FPM sul server web Apache.
Installa Apache e PHP-FPM
Innanzitutto, installa Apache e PHP-FPM eseguendo il seguente comando:
apt-get install apache2 libapache2-mod-php libapache2-mod-fcgid php php-fpm php-cli -y
Una volta installati tutti i pacchetti, avvia il servizio Apache e PHP-FPM con il seguente comando:
systemctl start apache2 systemctl start php7.2-fpm
Configura Apache con supporto PHP-FPM
Successivamente, dovrai configurare il server web Apache con il supporto PHP-FPM. Per farlo, crea un nuovo file di configurazione dell'host virtuale Apache:
nano /etc/apache2/sites-available/example.com.conf
Aggiungi le seguenti righe:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/ DirectoryIndex info.php ServerName example.com <Directory /var/www/html/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> <FilesMatch \.php$> # 2.4.10+ can proxy to unix socket SetHandler "proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost" </FilesMatch> ErrorLog ${APACHE_LOG_DIR}/example.com_error.log CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined </VirtualHost>
Salva e chiudi il file. Quindi, abilita il file di configurazione dell'host virtuale con il seguente comando:
a2ensite example.com
Successivamente, dovrai abilitare alcuni moduli affinché apache2 funzioni con PHP-FPM:
a2enmod actions fcgid alias proxy_fcgi
Quindi, riavvia il servizio Apache usando il seguente comando:
systemctl restart apache2
Fase 3:prova il server Web Apache
Il server web Apache è ora configurato con il supporto PHP-FPM. È ora di verificare se PHP-FPM è caricato con il server Web Apache o meno.
Per testarlo, crea un file info.php di esempio all'interno della directory radice del documento Apache:
nano /var/www/html/info.php
Aggiungi le seguenti righe:
<?php phpinfo(); ?>
Salva e chiudi il file, quindi cambia la proprietà del file info.php in www-data:
chown www-data:www-data /var/www/html/info.php
Quindi, apri il browser web e digita l'URL http://example.com . Dovresti vedere la seguente pagina:
La pagina sopra indica che PHP-FPM è caricato con il server web Apache.
Nota: Non dimenticare di rimuovere il file info.php dopo il test.
Passaggio 4:abilitare il supporto PHP-FPM su Nginx Web Server
In questa sezione impareremo come installare e abilitare il supporto PHP-FPM sul server web Nginx.
Passaggio 5 – Installa Nginx e PHP-FPM
Innanzitutto, installa Nginx e PHP-FPM eseguendo il seguente comando:
apt-get install nginx php php-fpm php-cli -y
Una volta installati tutti i pacchetti, avvia il servizio Nginx e PHP-FPM con il seguente comando:
systemctl start nginx systemctl start php7.2-fpm
Passaggio 6 – Configura Nginx con supporto PHP-FPM
Successivamente, dovrai configurare il server web Nginx con il supporto PHP-FPM. Per fare ciò, crea un nuovo file di configurazione dell'host virtuale Nginx:
nano /etc/nginx/sites-available/example.com.conf
Aggiungi le seguenti righe:
server { listen 80; root /var/www/html/; index info.php; server_name example.com; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors off; fastcgi_buffer_size 16k; fastcgi_buffers 4 16k; fastcgi_connect_timeout 600; fastcgi_send_timeout 600; fastcgi_read_timeout 600; } location / { try_files $uri $uri/ =404; } } Save and close the file. Then, enable the Nginx virtual host with the following command:
ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
Quindi, riavvia il servizio Nginx e PHP-FPM per applicare le modifiche alla configurazione:
systemctl restart nginx systemctl restart php7.2-fpm
Passaggio 7:verifica del server Web Nginx
Il server web Nginx è ora configurato con il supporto PHP-FPM. È ora di verificare se PHP-FPM è caricato con il server web Nginx o meno.
Per testarlo, crea un file info.php di esempio nella directory principale del documento Nginx:
nano /var/www/html/info.php
Aggiungi le seguenti righe:
<?php phpinfo(); ?>
Salva e chiudi il file, quindi cambia la proprietà del file info.php in www-data:
chown www-data:www-data /var/www/html/info.php
Quindi, apri il browser web e digita l'URL http://example.com . Dovresti vedere la seguente pagina:
La pagina sopra indica che PHP-FPM è caricato con il server web Nginx.
Nota: Non dimenticare di rimuovere il file info.php dopo il test.
Conclusione
Congratulazioni! Hai configurato correttamente il server web Nginx e Apache con supporto PHP-FPM. Spero che ora tu abbia abbastanza conoscenze per usare PHP-FPM per eseguire più versioni di PHP alla volta. Per iniziare con PHP-FPM su Apache e Nginx, iscriviti oggi stesso a un piano di hosting VPS con Atlantic.Net.