GNU/Linux >> Linux の 問題 >  >> Linux

Ubuntu 22.04 で Apache を使用して PHP-FPM をインストールする方法

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 をヒット 続いて YEnter ファイルを保存して終了します。

これで、新しい 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 をヒット 続いて YEnter ファイルを保存して終了します。

ブラウザに移動して、サーバーの IP アドレスまたはドメイン名に続けて info.php を指定します。 .あなたの住所は http://domain.com/info.php のようになります

PHP 情報ページが表示され、Apache で PHP-FPM が使用されていることを確認できます。

情報技術の専門家として働く役割に備える Linux オペレーティング システムで

結論

これで、Apache で PHP 8.1-FPM をインストールし、Ubuntu 22.04 で PHP を構成する方法を学習しました。また、複数のユーザー用に PHP-FPM プールをセットアップする方法も学びました。


Linux
  1. UbuntuにApacheをインストールするにはどうすればいいですか?

  2. Ubuntu 20.04 で Apache を使用して PHP-FPM をインストールする方法

  3. Apache を使用して Ubuntu 22.04 に phpMyAdmin をインストールする

  1. Ubuntu18.04にApacheを使用してWordPressをインストールする方法

  2. Apache を使用して Ubuntu 20.04 に phpMyAdmin をインストールする

  3. Ubuntu 20.04 に Apache Cassandra をインストールする方法

  1. Ubuntu18.04にApacheを使用してJoomlaをインストールする方法

  2. Apacheを使用してUbuntu18.04にLaravelをインストールする方法

  3. Ubuntu14.04にApacheを使用してDrupal7をインストールする方法