GNU/Linux >> Linux Esercitazione >  >> Linux

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_php per impostazione predefinita e funziona con tutti i principali server web. Con mod_php c'è 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 variabili PHP.

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.

Per iniziare

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

sudo apt update
sudo apt upgrade

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

Passaggio 1:aggiungi PPA per PHP 8.1

Aggiungi il ondrej/php che ha il pacchetto 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.

Fase 2:installa 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, verifica l'installazione utilizzando il comando seguente.

sudo service php8.1-fpm status

Riceverai un output simile a quello qui sotto.

Output
● php8.1-fpm.service - The PHP 8.1 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php8.1-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-02-22 04:51:01 UTC; 3min ago
       Docs: man:php-fpm8.1(8)
    Process: 564 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.s>
   Main PID: 471 (php-fpm8.1)
     Status: "Processes active: 0, idle: 10, Requests: 1068, slow: 0, Traffic: 0req/sec"
      Tasks: 11 (limit: 9529)
     Memory: 1.2G
     CGroup: /system.slice/php8.1-fpm.service

Fase 3:installa Apache

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

sudo apt install apache2

Fase 4:configura Apache con PHP-FPM

Per impostazione predefinita Apache utilizzerà mod_php quindi ora puoi configurare Apache per utilizzare PHP-FPM.

Disabilita la configurazione predefinita di Apache vhost.

sudo a2dissite 000-default

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 PHP FPM

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.

Fase 5:configura PHP-FPM

Ora configuriamo PHP per le applicazioni Web modificando alcuni valori in php.ini file.

Per PHP 8.1 con Nginx il php.ini la posizione sarà nella directory seguente.

sudo nano /etc/php/8.1/fpm/php.ini

Premi F6 per cercare all'interno dell'editor e aggiornare 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.

sudo service php8.1-fpm restart

Passaggio 6:configurare gli host virtuali Apache

Crea una nuova configurazione vhost Apache.

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

Incolla la configurazione seguente nel file.

<VirtualHost *:80>
     ServerName domain.com
     ServerAlias www.domain.com
     
     Protocols h2 http/1.1

     DocumentRoot /var/www/html/domain/public

     <Directory /var/www/html/domain/public>
         Options -Indexes +FollowSymLinks
         AllowOverride All
         Require all granted
     </Directory>
 
      ErrorLog ${APACHE_LOG_DIR}/error.log
      CustomLog ${APACHE_LOG_DIR}/access.log combined  
</VirtualHost> 

Premi CTRL + X seguito da Y e Enter per salvare ed uscire dal file.

Ora puoi abilitare la nuova configurazione di Apache.

sudo a2ensite domain.conf

Riavvia Apache.

sudo service apache2 restart

Passaggio 7:verifica PHP-FPM con Apache

Qui abbiamo configurato /var/www/html/domain/public come web root nella configurazione di Apache. Quindi ora puoi navigare in quella directory e creare un phpinfo per verificare l'impostazione.

cd /var/www/html/domain/public
sudo nano info.php

Incolla quanto segue.

<?php phpinfo();

Premi CTRL + X seguito da Y e Enter per salvare ed uscire dal file.

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

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

Preparati per un ruolo di Professionista dell'Information Technology con sistema operativo Linux

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.


Linux
  1. Come installare PHP 8 su Ubuntu 20.04 LTS

  2. Come installare Suphp con Apache su Ubuntu/Linux

  3. Come installare LAMP con PHP 7.4 su Ubuntu 20.04

  4. Come installare PHP 8.0 su Ubuntu 20.04

  5. Come installare Apache su Ubuntu?

Come installare Apache con PHP-FPM su Debian 10

Come installare Drupal su un server Ubuntu 20.04 con Apache

Come installare Apache su Ubuntu 20.04

Come installare e configurare Memcached con Apache e PHP

Come installare Apache Tomcat 10 su Ubuntu 20.04 con Nginx

Come installare Apache Tomcat 10 su Ubuntu 22.04 con Nginx