Ubuntu 22.04 で Apache を使用して PHP-FPM をインストールする方法。 Web サーバーを使用して PHP を実行するには、2 つの異なるオプションがあります。 1 つは PHP の CGI を使用しており、もう 1 つは FPM を使用しています。 FPM は PHP で FastCGI を管理するプロセス マネージャーです。 Apache は mod_php
で出荷されます デフォルトで、すべての主要な Web サーバーで動作します。 mod_php
で プロセスがロックアウトされるため、パフォーマンスに少し問題があります。
このガイドでは、PHP 8.1-FPM をセットアップして Apache で構成し、PHP 変数を構成する方法を学習します。
この設定は、他の VPS、専用またはクラウド VM でも行うことができます。この設定は Google Compute Engine でテストされていますが、Ubuntu または Debian Linux ディストリビューションでも動作します。
はじめに
次のコマンドを実行して、Ubuntu サーバーに最新のパッケージがあることを確認してください。
sudo apt update
sudo apt upgrade
これにより、パッケージ インデックスが更新され、インストールされたパッケージが最新バージョンに更新されます。
ステップ 1:PHP 8.1 FPM をインストールする
デフォルトでは、Ubuntu 22.04 には最新の PHP 8.1 リポジトリが追加されています。したがって、次のコマンドを使用して PHP をインストールできます。
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
インストールが完了するまで待ちます。
インストールが完了したら、次のコマンドを使用してインストールを確認してください。
sudo service php8.1-fpm status
以下のような出力が表示されます。
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> ...
ステップ 2:Apache をインストールする
PHP-FPM を起動して実行したら、Apache Web サーバーをインストールできます。
sudo apt install apache2
以下のコマンドを使用して Apache のバージョンを確認してください
sudo apachectl -v
Output Server version: Apache/2.4.52 (Ubuntu) Server built: 2022-03-25T00:35:40
Apache のすべてのプロセスは systemctl
で管理されます 指図。次のコマンドで Apache のステータスを確認してください。
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
ステップ 3:PHP-FPM で Apache を構成する
デフォルトでは、Apache は mod_php
を使用します これで、PHP-FPM を使用するように Apache を構成できます。
デフォルトの Apache vhost 構成を無効にします。
sudo a2dissite 000-default
Apache イベント モジュールを有効にする
既存の PHP バージョンのデフォルトのプリフォーム モジュールを無効にします。
sudo a2dismod php7.4
Apache Prefork モジュールを無効にします。
sudo a2dismod mpm_prefork
Apache イベント モジュールを有効にします。
sudo a2enmod mpm_event proxy_fcgi setenvif
PHP FPM 構成を有効にする
これで、PHP-FPM 構成を有効にできます。
sudo a2enconf php8.1-fpm
HTTP2 を有効にする
HTTP 2 のサポートが必要な場合は、それを有効にすることもできます。
sudo a2enmod http2
これで、Apache は PHP FPM で構成されました。
ステップ 4:PHP-FPM を構成する
php.ini
のいくつかの値を変更して、Web アプリケーション用の PHP を構成します。 ファイル。
Nginx を使用する PHP 8.1 の場合、php.ini
場所は次のディレクトリになります。
sudo nano /etc/php/8.1/fpm/php.ini
F6
をヒット エディター内で検索し、パフォーマンスを向上させるために次の値を更新します。
upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000
PHP 設定を変更したら、変更を有効にするために PHP-FPM を再起動する必要があります。
sudo service php8.1-fpm restart
ステップ 5:Apache 仮想ホストを構成する
新しい Apache vhost 構成を作成します。
sudo nano /etc/apache2/sites-available/domain.conf
以下の構成をファイルに貼り付けます。
<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>
CTRL + X
をヒット 続いて Y
と Enter
ファイルを保存して終了します。
これで、新しい Apache 構成を有効にできます。
sudo a2ensite domain.conf
Apache を再起動します。
sudo service apache2 restart
ステップ 6:Apache で PHP-FPM を検証する
ここで /var/www/html/domain/public
を設定しました Apache 構成の Web ルートとして。これで、そのディレクトリに移動して phpinfo
を作成できます
cd /var/www/html/domain/public
sudo nano info.php
以下を貼り付けます。
<?php phpinfo();
CTRL + X
をヒット 続いて Y
と Enter
ファイルを保存して終了します。
ブラウザに移動して、サーバーの IP アドレスまたはドメイン名に続けて info.php
を指定します。 .あなたの住所は http://domain.com/info.php
のようになります
PHP 情報ページが表示され、Apache で PHP-FPM が使用されていることを確認できます。
情報技術の専門家として働く役割に備える Linux オペレーティング システムで
結論
これで、Apache で PHP 8.1-FPM をインストールし、Ubuntu 22.04 で PHP を構成する方法を学習しました。また、複数のユーザー用に PHP-FPM プールをセットアップする方法も学びました。