ApacheとNginxは無料で、オープンソースで人気があります。これは、世界中で最も広く使用されているWebサーバーです。 ApacheとNginxはどちらも、すべてのUnixベースのオペレーティングシステムで実行されます。 Apacheはそのパワーで知られていますが、Nginxはそのスピードで知られています。 Nginxは、HTTP、HTTPS、IMAP、SMTP、POP3のリバースプロキシとして、またロードバランサーとしても使用されます。
PHP-FPM(FastCGI Process Manager)は、高負荷のWebサイト用に特別に設計された代替のPHPFastCGI実装です。 PHP-FPMを使用すると、一度に複数のバージョンのPHPを実行できます。 PHP-FPMは、Webサーバー上のmod_PHPとは異なる方法で実行できます。最適なパフォーマンスでWebアプリケーションをホストすることを検討している場合は、PHP-FPMが最適です。
このチュートリアルでは、Ubuntu18.04サーバー上のApacheおよびNginxWebサーバーでPHP-FPMサポートを有効にする方法を説明します。
前提条件
- Atlantic.Netクラウドプラットフォーム上の新しいUbuntu18.04VPS。
- VPSIPアドレスを指す有効なドメイン名。
ステップ1-Atlantic.Netクラウドサーバーを作成する
まず、Atlantic.Netクラウドサーバーにログインします。 2GB以上のRAMを搭載したオペレーティングシステムとしてUbuntu18.04を選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。
Ubuntu 18.04サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。
apt-get update -y
ステップ2–ApacheWebサーバーでPHP-FPMサポートを有効にする
このセクションでは、ApacheWebサーバーにPHP-FPMサポートをインストールして有効にする方法を学習します。
ApacheとPHP-FPMをインストールする
まず、次のコマンドを実行して、ApacheとPHP-FPMをインストールします。
apt-get install apache2 libapache2-mod-php libapache2-mod-fcgid php php-fpm php-cli -y
すべてのパッケージがインストールされたら、次のコマンドを使用してApacheおよびPHP-FPMサービスを開始します。
systemctl start apache2 systemctl start php7.2-fpm
PHP-FPMサポートを使用してApacheを構成する
次に、PHP-FPMをサポートするApacheWebサーバーを構成する必要があります。これを行うには、新しいApache仮想ホスト構成ファイルを作成します。
nano /etc/apache2/sites-available/example.com.conf
次の行を追加します:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/ DirectoryIndex info.php ServerName example.com <Directory /var/www/html/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> <FilesMatch \.php$> # 2.4.10+ can proxy to unix socket SetHandler "proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost" </FilesMatch> ErrorLog ${APACHE_LOG_DIR}/example.com_error.log CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined </VirtualHost>
ファイルを保存して閉じます。次に、次のコマンドを使用して仮想ホスト構成ファイルを有効にします。
a2ensite example.com
次に、apache2がPHP-FPMで動作するようにいくつかのモジュールを有効にする必要があります:
a2enmod actions fcgid alias proxy_fcgi
次に、次のコマンドを使用してApacheサービスを再起動します。
systemctl restart apache2
ステップ3–ApacheWebサーバーをテストする
Apache Webサーバーは、PHP-FPMサポートで構成されています。 PHP-FPMがApacheWebサーバーにロードされているかどうかをテストするときが来ました。
テストするには、Apacheドキュメントのルートディレクトリ内にサンプルのinfo.phpファイルを作成します。
nano /var/www/html/info.php
次の行を追加します:
<?php phpinfo(); ?>
ファイルを保存して閉じてから、info.phpファイルの所有権をwww-dataに変更します:
chown www-data:www-data /var/www/html/info.php
次に、Webブラウザーを開き、URL http://example.comを入力します。 。次のページが表示されます:
上記のページは、PHP-FPMがApacheWebサーバーにロードされていることを示しています。
注: テスト後にinfo.phpファイルを削除することを忘れないでください。
ステップ4–NginxWebサーバーでPHP-FPMサポートを有効にする
このセクションでは、NginxウェブサーバーにPHP-FPMサポートをインストールして有効にする方法を学習します。
ステップ5–NginxとPHP-FPMをインストールする
まず、次のコマンドを実行してNginxとPHP-FPMをインストールします。
apt-get install nginx php php-fpm php-cli -y
すべてのパッケージがインストールされたら、次のコマンドを使用してNginxおよびPHP-FPMサービスを開始します。
systemctl start nginx systemctl start php7.2-fpm
ステップ6–PHP-FPMサポートを使用してNginxを構成する
次に、PHP-FPMをサポートするNginxWebサーバーを構成する必要があります。これを行うには、新しいNginx仮想ホスト構成ファイルを作成します。
nano /etc/nginx/sites-available/example.com.conf
次の行を追加します:
server { listen 80; root /var/www/html/; index info.php; server_name example.com; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors off; fastcgi_buffer_size 16k; fastcgi_buffers 4 16k; fastcgi_connect_timeout 600; fastcgi_send_timeout 600; fastcgi_read_timeout 600; } location / { try_files $uri $uri/ =404; } } Save and close the file. Then, enable the Nginx virtual host with the following command:
ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
次に、NginxとPHP-FPMサービスを再起動して、構成の変更を適用します。
systemctl restart nginx systemctl restart php7.2-fpm
ステップ7–NginxWebサーバーをテストする
NginxWebサーバーがPHP-FPMサポートで構成されました。 PHP-FPMがNginxウェブサーバーにロードされているかどうかをテストするときが来ました。
テストするには、Nginxドキュメントのルートディレクトリにサンプルのinfo.phpファイルを作成します。
nano /var/www/html/info.php
次の行を追加します:
<?php phpinfo(); ?>
ファイルを保存して閉じてから、info.phpファイルの所有権をwww-dataに変更します:
chown www-data:www-data /var/www/html/info.php
次に、Webブラウザーを開き、URL http://example.comを入力します。 。次のページが表示されます:
上記のページは、PHP-FPMがNginxウェブサーバーにロードされていることを示しています。
注: テスト後にinfo.phpファイルを削除することを忘れないでください。
結論
おめでとう!これで、PHP-FPMをサポートするNginxおよびApacheWebサーバーが正常に構成されました。 PHP-FPMを使用して一度に複数のバージョンのPHPを実行するための十分な知識が得られたことを願っています。 ApacheとNginxでPHP-FPMを使い始めるには、Atlantic.NetでVPSホスティングプランに今すぐサインアップしてください。