GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare Nginx per funzionare con PHP tramite PHP-FPM

Questo tutorial passo dopo passo ti mostrerà come installare e configurare Nginx per eseguire PHP sul tuo server usando PHP-FPM.

Nginx + PHP è uno dei gruppi di software più popolari che puoi utilizzare per creare il tuo sito web. Questo tutorial passo passo ti mostrerà come installare e configurare Nginx per eseguire PHP sul tuo server usando PHP-FPM.

Nginx è la combinazione ideale con PHP-FPM. È un server web stabile riconosciuto per le sue prestazioni impressionanti e il basso consumo di risorse.

PHP viene eseguito come servizio isolato quando si utilizza PHP-FPM. L'utilizzo di questa versione PHP come interprete linguistico significa che le richieste verranno elaborate tramite un socket UNIX. Il server Nginx gestirà solo le richieste HTTP, mentre PHP-FPM interpreta il codice PHP.

1. Installazione di Nginx

Ubuntu/Debian

Poiché Nginx è disponibile nei repository predefiniti di Debian e Ubuntu, è possibile installarlo da questi repository utilizzando il sistema di pacchettizzazione apt.

sudo apt install nginx

CentOS / AlmaLinux / Rocky Linux

Per ottenere l'ultima versione di Nginx, gli utenti di CentOS, AlmaLinux o Rocky Linux devono prima installare il repository EPEL.

EPEL (Extra Packages for Enterprise Linux) è un progetto di repository open source e gratuito basato sulla comunità del team Fedora che fornisce pacchetti software aggiuntivi di alta qualità per distribuzioni Linux basate su RHEL.

sudo yum install epel-release

Quindi puoi installare il server Nginx.

sudo yum install nginx

Fedora

Nginx è disponibile sui repository Fedora predefiniti e può essere installato direttamente usando il dnf gestore di pacchetti.

sudo dnf install nginx

2. Installazione di PHP-FPM

Ubuntu/Debian

Per installare PHP su Ubuntu o Debian, basta eseguire il seguente comando:

sudo apt install php-fpm

CentOS

La versione PHP disponibile per impostazione predefinita all'interno dei server CentOS è obsoleta. Per questo motivo, dovremo installare un repository di pacchetti di terze parti per ottenere PHP 7.

CentOS 7

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi-php74
sudo yum install php php-fpm

CentOS 8

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo yum-config-manager --enable remi-php74
sudo yum install php php-fpm

3. Configurazione di NGINX per eseguire PHP utilizzando PHP-FPM

Una volta installati Nginx e PHP, possiamo configurare Nginx per inviare richieste PHP a PHP-FPM.

Avremo bisogno di creare un file di configurazione del blocco del server Nginx per eseguire PHP con FPM. Successivamente, puoi creare un nuovo VirtualHost secondo le tue esigenze, abilitando qualsiasi nuovo VirtualHost.

sudo vim /etc/nginx/sites-available/example.com

Sostituisci example.com con il dominio o l'indirizzo IP del tuo sito e la root direttiva con la directory principale del tuo sito.

server {
        listen 80;
        root /var/www/html;
        index index.php index.html index.htm;
        server_name example.com;
 
        location / {
            try_files $uri $uri/ =404;
        }
 
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        }
}

Salva le modifiche nel file di configurazione e crea un collegamento alla directory abilitata per il sito.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com 

Assicurati che il nome del file socket PHP (nel nostro caso php7.4-fpm.sock ) specificato nel fastcgi_pass la direttiva è corretta.

ls -l /var/run/php/
total 4
-rw-r--r-- 1 root     root      5 Dec  1 17:43 php7.4-fpm.pid
srw-rw---- 1 www-data www-data  0 Dec  1 17:43 php7.4-fpm.sock
lrwxrwxrwx 1 root     root     30 Dec  1 17:43 php-fpm.sock -> /etc/alternatives/php-fpm.sock

Se il nome è diverso da php7.4-fpm.sock , sostituiscilo nel blocco server mostrato sopra con quello corrente dal tuo server.

Quindi riavvia il servizio Nginx per ricaricare le modifiche.

sudo systemctl restart nginx.service

4. Verifica della configurazione

Crea un file PHP di prova per verificare che PHP-FPM funzioni e sia integrato con Nginx. Nel Blocco server sopra, il nostro sito viene servito da /var/www/html , quindi creeremo un file di prova lì:

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

Infine, accedi a info.php da un browser web, utilizzando il dominio del tuo sito o l'indirizzo IP del server. Dovresti vedere la pagina di configurazione di PHP:

Conclusione

Congratulazioni! Hai impostato Nginx per gestire le richieste PHP tramite PHP-FPM.

Ci sono alcuni passi successivi che potresti fare da qui. Ad esempio, dovresti assicurarti che le connessioni al tuo server siano protette. Ma come si fa?

Segui il nostro tutorial passo passo per acquisire un certificato SSL Let's Encrypt gratuito per il tuo server.


Linux
  1. Come configurare l'SSL Cloudflare di origine con Nginx

  2. Come configurare i server di log remoti con rsyslog?

  3. Come abilitare Nginx con PHP-FPM su Plesk

  4. Come installare PHP 7.4 con Nginx su Ubuntu 20.04

  5. Come installare PHP-FPM con Apache su Ubuntu 20.04

Come configurare Nginx con SSL

Come installare Nginx con PHP-FPM su Debian 11

Come configurare PHP-FPM con NGINX

Come configurare il bilanciamento del carico con NGINX su Jelastic Cloud

Come installare e configurare NGINX e PHP su Jelastic Cloud

Come installare e configurare Memcached con Apache e PHP