Ubuntu 20.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 用の PPA を追加する
ondrej/php
を追加 これには、PHP 8.1 パッケージとその他の必要な PHP 拡張機能が含まれています。
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
PPA を追加したら、PHP 8.1 をインストールできます。
ステップ 2:PHP 8.1 FPM をインストールする
次に、WordPress などの PHP アプリケーションを実行するために、PHP 8.1-FPM といくつかの一般的なモジュールをインストールします。
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
インストールが完了するまで待ちます。
インストールが完了したら、次のコマンドを使用してインストールを確認してください。
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-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
ステップ 3:Apache をインストールする
PHP-FPM を起動して実行したら、Apache Web サーバーをインストールできます。
sudo apt install apache2
ステップ 4: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 で構成されました。
ステップ 5: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
ステップ 6: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
ステップ 7: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 オペレーティング システムで
結論
これで、PHP 8.1-FPM を Apache とともにインストールし、Apache を構成する方法を学習しました。また、複数のユーザー用に PHP-FPM プールをセットアップする方法も学びました。