DEV Community

AkTaRuS
AkTaRuS

Posted on

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

Come installare PHP-FPM con Apache su Ubuntu 20.04. Esistono due opzioni distinte per eseguire PHP utilizzando il server web. Uno utilizza il CGI di PHP e l'altro è FPM. FPM è un process manager per gestire FastCGI in PHP. Apache viene fornito con mod_phpper impostazione predefinita e funziona con tutti i principali server Web. Con mod_phpc'è un piccolo problema di prestazioni perché blocca il processo.

In questa guida imparerai come impostare PHP 8.1-FPM e configurarlo con Apache e anche configurare le variabili PHP.

Clicca qui se invece hai bisogno invece di una guida per installatre PHP 8.1 su ubuntu 22.04

Questa configurazione può essere eseguita anche su altri VPS o VM dedicate o cloud. Questa configurazione è testata su Google Compute Engine ma funziona su qualsiasi distribuzione Ubuntu o Debian Linux.

Iniziare
Assicurati che il tuo server Ubuntu abbia i pacchetti più recenti eseguendo il comando seguente.

sudo apt update
sudo apt update

Ciò aggiornerà l'indice del pacchetto e aggiornerà i pacchetti installati all'ultima versione.

Passaggio 1: aggiungi PPA per PHP 8.1
Aggiungi il ondrej/phppacchetto PHP 8.1 e altre estensioni PHP richieste.

`sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

Dopo aver aggiunto il PPA, puoi installare PHP 8.1.`

Passaggio 2: installare PHP 8.1 FPM
Ora installeremo PHP 8.1-FPM e alcuni moduli comuni per eseguire un'applicazione PHP come WordPress.

sudo apt install php8.1-fpm php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8. 1-dev php8.1-imap php8.1-mbstring php8.1-soap php8.1-zip php8.1-bcmath -y
Attendi il completamento dell'installazione.

Una volta completata l'installazione, verificare l'installazione
utilizzando il comando seguente.

stato del servizio sudo php8.1-fpm
Riceverai un output simile a quello qui sotto.

Produzione
● php8.1-fpm.service - Il Gestore di processi FastCGI PHP 8.1
Caricato: caricato (/lib/systemd/system/php8.1-fpm.service; abilitato; preimpostazione del fornitore: abilitato)
Attivo: attivo (in esecuzione) da Mar 2022-02-22 04:51:01 UTC; 3 minuti fa
Documenti: man:php-fpm8.1(8)
Processo: 564 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.s>
PID principale: 471 (php-fpm8.1)
Stato: "Processi attivi: 0, inattivo: 10, Richieste: 1068, lento: 0, Traffico: 0req/sec"
Compiti: 11 (limite: 9529)
Memoria: 1,2 G
CGroup: /system.slice/php8.1-fpm.service

Passaggio 3: installa Apache
Una volta che hai il tuo PHP-FPM attivo e funzionante, puoi installare il server web Apache.

sudo apt install apache2
Passaggio 4: configura Apache con PHP-FPM
Per impostazione predefinita utilizzerà Apache, mod_phpquindi ora puoi configurare Apache per utilizzare PHP-FPM.

Disabilita la configurazione predefinita di Apache vhost.

sudo a2dissite 000-predefinito
Abilita modulo eventi Apache
Disabilita tutti i moduli preformati predefiniti per tutte le versioni PHP esistenti.

sudo a2dismod php7.4
Disabilita il modulo Apache Prefork.

sudo a2dismod mpm_prefork
Abilita il modulo Evento Apache.

sudo a2enmod mpm_event proxy_fcgi setenvif
Abilita configurazione FPM PHP
Ora puoi abilitare la configurazione PHP-FPM.

sudo a2enconf php8.1-fpm
Abilita HTTP2
Se hai bisogno del supporto HTTP 2 puoi anche abilitarlo.

sudo a2enmod http2
Ora Apache è configurato con PHP FPM.

Passaggio 5: configurare PHP-FPM
Ora configuriamo PHP per le applicazioni Web modificando alcuni valori nel php.inifile.

Per PHP 8.1 con Nginx la php.iniposizione sarà nella seguente directory.

sudo nano /etc/php/8.1/fpm/php.ini
Premi F6per cercare all'interno dell'editor e aggiorna i seguenti valori per prestazioni migliori.

upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000
Dopo aver modificato le impostazioni PHP, è necessario riavviare il PHP-FPM affinché le modifiche abbiano effetto.

riavvio del servizio sudo php8.1-fpm
Passaggio 6: configurare gli host virtuali Apache
Crea una nuova configurazione vhost Apache.

sudo nano /etc/apache2/sites-disponibili/domain.conf

Incolla la configurazione seguente nel file.

`
Nomeserver dominio.com
ServerAlias ​​www.dominio.com

 Protocolli h2 http/1.1

 DocumentRoot /var/www/html/domain/public

 <Directory /var/www/html/domain/public>
     Opzioni -Indici + FollowSymLinks
     Consenti Sostituisci tutto
     Richiedi tutto concesso
 </Directory>

  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combinato  
Enter fullscreen mode Exit fullscreen mode

`

Premi CTRL + Xseguito da Ye Enterper salvare e uscire dal file.

Ora puoi abilitare la nuova configurazione di Apache.

sudo a2ensite dominio.conf
Riavvia Apache.

sudo service apache2 restart
Passaggio 7: verifica PHP-FPM con Apache
Qui abbiamo configurato /var/www/html/domain/publiccome web root nella configurazione di Apache. Quindi ora puoi navigare in quella directory e creare un phpinfofile per controllare l'installazione.

cd /var/www/html/dominio/pubblico
sudo nano info.php

Incolla quanto segue.

<?php phpinfo();
Premi CTRL + Xseguito da Ye Enterper salvare e uscire dal file.

Ora vai sul tuo browser e puntalo all'indirizzo IP del tuo server o al nome di dominio seguito da info.php. Quindi il tuo indirizzo sarà simile a questohttp://domain.com/info.php

Vedrai la pagina delle informazioni di PHP e confermerai che PHP-FPM è utilizzato con Apache.

Conclusione
Ora hai imparato come installare PHP 8.1-FPM con Apache e configurare Apache. Hai anche imparato a configurare pool PHP-FPM per più utenti.

Top comments (1)

Collapse
 
leslieeeee profile image
Leslie

If you are a macos user, ServBay.dev is worth to try. You don't need to spend some time or couple of days to setup anything. Just download it and you can use it immediately. You can run multiple PHP versions simultaneously and switch between them effortlessly.
Honestly, this tool has greatly simplified my PHP development and is definitely worth trying!