このステップバイステップのチュートリアルでは、PHP-FPMを使用してサーバー上でPHPを実行するようにNginxをインストールおよび構成する方法を示します。
Nginx + PHPは、Webサイトの構築に使用できる最も人気のあるソフトウェアグループの1つです。このステップバイステップのチュートリアルでは、PHP-FPMを使用してサーバー上でPHPを実行するようにNginxをインストールおよび構成する方法を示します。
Nginxは、PHP-FPMとの理想的な組み合わせです。優れたパフォーマンスと低リソース消費で認められている安定したウェブサーバーです。
PHP-FPMを使用すると、PHPは分離されたサービスとして実行されます。このPHPバージョンを言語インタープリターとして使用すると、要求はUNIXソケットを介して処理されます。 NginxサーバーはHTTPリクエストのみを処理しますが、PHP-FPMはPHPコードを解釈します。
1。 Nginxのインストール
Ubuntu / Debian
NginxはDebianとUbuntuのデフォルトのリポジトリで利用できるため、適切なパッケージシステムを使用してこれらのリポジトリからインストールできます。
sudo apt install nginx
CentOS / AlmaLinux / Rocky Linux
最新のNginxバージョンを入手するには、CentOS、AlmaLinux、またはRockyLinuxユーザーは最初にEPELリポジトリをインストールする必要があります。
EPEL(Extra Package for Enterprise Linux)は、Fedoraチームによるオープンソースの無料のコミュニティベースのリポジトリプロジェクトであり、RHELベースのLinuxディストリビューションに高品質のアドオンソフトウェアパッケージを提供します。
sudo yum install epel-release
次に、Nginxサーバーをインストールできます。
sudo yum install nginx
Fedora
NginxはデフォルトのFedoraリポジトリで利用可能であり、dnf
を使用して直接インストールできます。 パッケージマネージャー。
sudo dnf install nginx
2。 PHP-FPMのインストール
Ubuntu / Debian
UbuntuまたはDebianにPHPをインストールするには、次のコマンドを実行するだけです。
sudo apt install php-fpm
CentOS
CentOSサーバー内でデフォルトで使用可能なPHPバージョンは古くなっています。そのため、PHP 7を入手するには、サードパーティのパッケージリポジトリをインストールする必要があります。
CentOS 7
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi-php74
sudo yum install php php-fpm
CentOS 8
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo yum-config-manager --enable remi-php74
sudo yum install php php-fpm
3。 PHP-FPMを使用してPHPを実行するようにNGINXを構成する
NginxとPHPをインストールしたら、PHPリクエストをPHP-FPMに送信するようにNginxを構成できます。
FPMでPHPを実行するには、Nginxサーバーブロック構成ファイルを作成する必要があります。その後、要件に応じて新しいVirtualHostを作成し、新しいVirtualHostを有効にすることができます。
sudo vim /etc/nginx/sites-available/example.com
example.com
を置き換えます サイトのドメインまたはIPアドレス、およびroot
サイトのルートディレクトリを使用したディレクティブ。
server {
listen 80;
root /var/www/html;
index index.php index.html index.htm;
server_name example.com;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
構成ファイルへの変更を保存し、サイト対応ディレクトリへのリンクを作成します。
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com
PHPソケットファイルの名前(この場合はphp7.4-fpm.sock
)を確認してください )fastcgi_pass
で指定 ディレクティブは正しいです。
ls -l /var/run/php/
total 4
-rw-r--r-- 1 root root 5 Dec 1 17:43 php7.4-fpm.pid
srw-rw---- 1 www-data www-data 0 Dec 1 17:43 php7.4-fpm.sock
lrwxrwxrwx 1 root root 30 Dec 1 17:43 php-fpm.sock -> /etc/alternatives/php-fpm.sock
名前がphp7.4-fpm.sock
と異なる場合 、上記のサーバーブロックで、サーバーの現在のブロックに置き換えるだけです。
次に、Nginxサービスを再起動して、変更を再読み込みします。
sudo systemctl restart nginx.service
4。セットアップのテスト
テストPHPファイルを作成して、PHP-FPMが機能し、Nginxと統合されていることを確認します。上記のサーバーブロックでは、サイトは/var/www/html
から提供されています 、そこでテストファイルを作成します:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
最後に、info.php
にアクセスします Webブラウザから、サイトのドメインまたはサーバーのIPアドレスを使用します。 PHP構成ページが表示されます:
おめでとう! PHP-FPMを介してPHPリクエストを処理するようにNginxを設定しました。
ここから実行できる次のステップがいくつかあります。たとえば、サーバーへの接続が保護されていることを確認する必要があります。しかし、それを行う方法は?
ステップバイステップのチュートリアルに従って、サーバー用の無料のLet'sEncryptSSL証明書を取得してください。