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

Ubuntu18.04のApacheおよびNginxWebサーバーにPHP-FPMサポートを追加する方法

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ホスティングプランに今すぐサインアップしてください。


Linux
  1. Apache / NGINX WebサーバーとSMTPのDROWN脆弱性を修正するにはどうすればよいですか?

  2. UbuntuにApacheWebサーバーをインストールする方法

  3. Ubuntu13.10にApacheWebサーバーをインストールして構成する方法

  1. Ubuntu18.04にNginxWebサーバーをインストールする方法

  2. UbuntuからApacheWebサーバーを削除する方法

  3. LinuxでNGINXWebサーバーを強化および保護する方法

  1. CentOS8でNginxをWebサーバーおよびApacheのリバースプロキシとして構成する方法

  2. UbuntuおよびDebianのApacheWebサーバーでHTTP/2を有効にする方法

  3. UbuntuにApacheWebサーバーをインストールして構成する方法