GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren Sie PHP-FPM mit Apache unter Ubuntu 22.04

So installieren Sie PHP-FPM mit Apache unter Ubuntu 22.04. Es gibt zwei verschiedene Optionen, um PHP über den Webserver auszuführen. Einer verwendet das CGI von PHP und der andere ist FPM. FPM ist ein Prozessmanager zur Verwaltung von FastCGI in PHP. Apache wird mit mod_php ausgeliefert standardmäßig und funktioniert mit allen gängigen Webservern. Mit mod_php Es gibt ein kleines Leistungsproblem, weil es den Prozess sperrt.

In dieser Anleitung erfahren Sie, wie Sie PHP 8.1-FPM einrichten und mit Apache konfigurieren und auch PHP-Variablen konfigurieren.

Dieses Setup kann auch auf anderen VPS oder dedizierten oder Cloud-VMs durchgeführt werden. Dieses Setup wurde auf Google Compute Engine getestet, funktioniert aber auf allen Ubuntu- oder Debian-Linux-Distributionen.

Erste Schritte

Stellen Sie sicher, dass Ihr Ubuntu-Server über die neuesten Pakete verfügt, indem Sie den folgenden Befehl ausführen.

sudo apt update
sudo apt upgrade

Dadurch werden der Paketindex und die installierten Pakete auf die neueste Version aktualisiert.

Schritt 1:Installieren Sie PHP 8.1 FPM

Standardmäßig hat Ubuntu 22.04 das neueste PHP 8.1-Repository hinzugefügt. Sie können also PHP mit dem folgenden Befehl installieren.

sudo apt install php8.1-fpm php8.1 libapache2-mod-php8.1 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-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl php8.1-bcmath unzip -y

Warten Sie, bis die Installation abgeschlossen ist.

Sobald die Installation abgeschlossen ist, überprüfen Sie die Installation mit dem folgenden Befehl.

sudo service php8.1-fpm status

Sie erhalten eine Ausgabe ähnlich der untenstehenden.

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-05-08 05:42:31 UTC; 2min ago
       Docs: man:php-fpm8.1(8)
    Process: 564 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.s>
...

Schritt 2:Apache installieren

Sobald Sie Ihr PHP-FPM eingerichtet und ausgeführt haben, können Sie den Apache-Webserver installieren.

sudo apt install apache2

Überprüfen Sie die Apache-Version mit dem folgenden Befehl

sudo apachectl -v
Output
Server version: Apache/2.4.52 (Ubuntu)
Server built:   2022-03-25T00:35:40

Jeder Prozess in Apache wird mit dem systemctl verwaltet Befehl. Überprüfen Sie den Status von Apache mit dem folgenden Befehl.

sudo systemctl status apache2
Output
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-05-08 05:45:29 UTC; 1min 47s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 12782 (apache2)
      Tasks: 55 (limit: 1151)
     Memory: 5.1M
        CPU: 52ms
     CGroup: /system.slice/apache2.service
             ├─12782 /usr/sbin/apache2 -k start
             ├─12784 /usr/sbin/apache2 -k start
             └─12785 /usr/sbin/apache2 -k start

Schritt 3:Apache mit PHP-FPM konfigurieren

Standardmäßig verwendet Apache mod_php jetzt können Sie also Apache für die Verwendung von PHP-FPM konfigurieren.

Deaktivieren Sie die standardmäßige Apache vhost-Konfiguration.

sudo a2dissite 000-default

Apache-Ereignismodul aktivieren

Deaktivieren Sie alle Standard-Preform-Module für alle vorhandenen PHP-Versionen.

sudo a2dismod php7.4

Deaktivieren Sie das Apache Prefork-Modul.

sudo a2dismod mpm_prefork

Apache Event-Modul aktivieren.

sudo a2enmod mpm_event proxy_fcgi setenvif

PHP-FPM-Konfiguration aktivieren

Jetzt können Sie die PHP-FPM-Konfiguration aktivieren.

sudo a2enconf php8.1-fpm

HTTP2 aktivieren

Wenn Sie HTTP 2-Unterstützung benötigen, können Sie diese ebenfalls aktivieren.

sudo a2enmod http2

Jetzt ist Apache mit PHP FPM konfiguriert.

Schritt 4:PHP-FPM konfigurieren

Jetzt konfigurieren wir PHP für Webanwendungen, indem wir einige Werte in php.ini ändern Datei.

Für PHP 8.1 mit Nginx der php.ini Der Speicherort befindet sich im folgenden Verzeichnis.

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

Drücken Sie F6 für die Suche im Editor und aktualisieren Sie die folgenden Werte für eine bessere Leistung.

upload_max_filesize = 32M 
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000

Nachdem Sie Ihre PHP-Einstellungen geändert haben, müssen Sie Ihr PHP-FPM neu starten, damit die Änderungen wirksam werden.

sudo service php8.1-fpm restart

Schritt 5:Apache Virtual Hosts konfigurieren

Erstellen Sie eine neue Apache vhost-Konfiguration.

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

Fügen Sie die folgende Konfiguration in die Datei ein.

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

Drücken Sie CTRL + X gefolgt von Y und Enter um die Datei zu speichern und zu beenden.

Jetzt können Sie die neue Apache-Konfiguration aktivieren.

sudo a2ensite domain.conf

Starten Sie Apache neu.

sudo service apache2 restart

Schritt 6:PHP-FPM mit Apache verifizieren

Hier haben wir /var/www/html/domain/public konfiguriert als Web-Root in der Apache-Konfiguration. Jetzt können Sie in dieses Verzeichnis navigieren und einen phpinfo erstellen Datei, um das Setup zu überprüfen.

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

Fügen Sie Folgendes ein.

<?php phpinfo();

Drücken Sie CTRL + X gefolgt von Y und Enter um die Datei zu speichern und zu beenden.

Gehen Sie nun zu Ihrem Browser und zeigen Sie ihn auf Ihre Server-IP-Adresse oder Ihren Domänennamen, gefolgt von info.php . Ihre Adresse sieht also so aus:http://domain.com/info.php

Sie sehen die PHP-Infoseite und bestätigen, dass PHP-FPM mit Apache verwendet wird.

Bereiten Sie sich auf eine Rolle als Information Technology Professional vor mit Linux-Betriebssystem

Schlussfolgerung

Jetzt haben Sie gelernt, wie Sie PHP 8.1-FPM mit Apache installieren und PHP in Ubuntu 22.04 konfigurieren. Sie haben auch gelernt, PHP-FPM-Pools für mehrere Benutzer einzurichten.


Linux
  1. Wie installiere ich Apache auf Ubuntu?

  2. Installieren Sie phpMyAdmin auf Ubuntu 20.04 mit Apache

  3. So installieren Sie PHP-FPM mit Apache unter Ubuntu 20.04

  4. Installieren Sie phpMyAdmin auf Ubuntu 22.04 mit Apache

  5. So installieren Sie Apache Cassandra unter Ubuntu 20.04

So installieren Sie Apache mit PHP-FPM unter Debian 10

So installieren Sie Drupal auf einem Ubuntu 20.04-Server mit Apache

So installieren Sie Apache unter Ubuntu 20.04

So installieren Sie Apache Tomcat unter Ubuntu 18.04

So installieren Sie Apache Tomcat 10 auf Ubuntu 20.04 mit Nginx

So installieren Sie Apache Tomcat 10 auf Ubuntu 22.04 mit Nginx