Ubuntu22.04にApacheを使用してPHP-FPMをインストールする方法。 Webサーバーを使用してPHPを実行するには、2つの異なるオプションがあります。 1つはPHPのCGIを使用しており、もう1つはFPMです。
FPMは、PHPでFastCGIを管理するプロセスマネージャーです。 Apacheには付属しています mod_php
デフォルトで、すべての主要なWebサーバーで動作します。 と mod_php
プロセスがロックアウトされるため、パフォーマンスの問題が少しあります。
chroot環境のセットアップでサーバー上で複数のWebサイトをホストしている場合は、Webサイトを所有する別のユーザーとして実行するようにPHP-FPMプールを構成することもできます。
このガイドでは、PHP 8.1-FPMをセットアップし、Apacheで構成する方法と、複数のユーザー用にPHP8.1-FPMプールをセットアップする方法を学習します。
入門
次のコマンドを実行して、Ubuntuサーバーに最新のパッケージがインストールされていることを確認します。
sudo apt update
sudo apt upgrade
これにより、パッケージインデックスが更新され、インストールされているパッケージが最新バージョンに更新されます。
Apache用のPHP8.1をインストールします
次のコマンドを実行して、PHP8.1を他の必要なモジュールとともにインストールします。
sudo apt install php8.1 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 Mon 2022-05-16 08:50:31 UTC; 1 day 18h ago
Docs: man:php-fpm8.1(8)
Process: 110200 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/8.1/fpm/pool.d/www.conf 81 (code=exited, status=0/SUCC>
Main PID: 110197 (php-fpm8.1)
Status: "Processes active: 0, idle: 3, Requests: 57553, slow: 0, Traffic: 0.1req/sec"
Tasks: 4 (limit: 2353)
Memory: 484.3M
CPU: 4h 42min 14.593s
Apacheをインストールします
PHP-FPMを起動して実行したら、ApacheWebサーバーをインストールできます。
sudo apt install apache2
PHP-FPMを使用してApacheを構成する
デフォルトでは、Apacheは mod_php
これで、PHP-FPMを使用するようにApacheを設定できます。
デフォルトのApachevhost設定を無効にします。
sudo a2dissite 000-default
有効 proxy_fcgi
モジュール。
sudo a2enmod proxy_fcgi
新しいApachevhost構成を作成します。
sudo nano /etc/apache2/sites-available/cloudbooklet.conf
以下の設定をファイルに貼り付けます。
<VirtualHost *:80>
ServerName External_IP_Address
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<FilesMatch ".php$">
SetHandler "proxy:unix:/var/run/php/php8.1-fpm.sock|fcgi://localhost/"
</FilesMatch>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
打つ CTRL + X
に続く Y
と Enter
ファイルを保存して終了します。
これで、新しいApache構成を有効にできます。
sudo a2ensite cloudbooklet.conf
Apacheを再起動します。
sudo service apache2 restart
ApacheでPHP-FPMをテストする
ここで構成しました /var/www/html
Apache構成のWebルートとして。 これで、そのディレクトリに移動して、 phpinfo
設定を確認するファイル。
cd /var/www/html
sudo nano info.php
以下を貼り付けます。
<?php phpinfo;
打つ CTRL + X
に続く Y
と Enter
ファイルを保存して終了します。
次に、ブラウザに移動して、サーバーのIPアドレスまたはドメイン名に続けて info.php
。 だからあなたの住所はこのようになります http://IP_Address/info.php
PHP情報ページが表示され、PHP-FPMがApacheで使用されていることが確認されます。
PHP-FPM構成
PHP INI: /etc/php/8.1/fpm/php.ini
プール構成: /etc/php/8.1/fpm/pool.d/www.conf
別のユーザーで新しいPHP-FPMプールを作成する
デフォルトでは、NginxとApacheは次のように実行されます www-data
ユーザー。 PHP-FPM www.conf
として実行するようにも構成されています www-data
ユーザー。 複数のWebサイトがあり、chrootされたセットアップでそれらを分離したままにし、独自のユーザーで実行したい場合。 異なるユーザーで複数のPHP-FPMプールを作成できます。
新しいPHP-FPMプール構成を作成します。
sudo nano /etc/php/8.1/fpm/pool.d/user1.conf
以下を貼り付けます。
[user1] user = user1 group = group1 listen = /run/php/php8.1-fpm-user1.sock listen.owner = www-data listen.group = www-data pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3
次に、新しいApache vhost構成ファイルを作成し、作成した新しいプールにハンドラーを設定します。
sudo nano /etc/apache2/sites-available/site1.conf
<VirtualHost *:80> ServerName domain.com DocumentRoot /var/www/html/site1 <Directory /var/www/html/site1> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> <FilesMatch ".php$"> SetHandler "proxy:unix:/var/run/php/php8.1-fpm-user1.sock|fcgi://localhost/" </FilesMatch> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
新しいサイトを有効にします。
sudo a2ensite site1.conf
新しいサイトのWebルートが、プール構成で指定されたユーザーによって、指定されたグループ内で所有されていることを確認してください。
サービスを再起動します
構成が完了したら、変更を有効にするためにPHP-FPMとApacheを再起動する必要があります。
sudo php-fpm8.1 -t sudo service php8.1-fpm restart
sudo service apache2 restart
上記のPHP-FPMのセットアップを使用して、必要な数のプールを作成できます。 これらは、PHP-FPMで利用できる柔軟性です。
として働く役割のためにあなた自身を準備してください 情報技術の専門家 Linuxオペレーティングシステムを使用
結論
これで、Apacheを使用してPHP 8.1-FPMをインストールし、Ubuntu22.04でPHP-FPMを使用するようにApacheを構成する方法を学習しました。
また、複数のユーザー用にPHP-FPMプールを設定する方法も学びました。
The post Ubuntu22.04にApacheを使用してPHP-FPMをインストールする方法 appeared first on Gamingsym Japan.