Amazon EC2 + PHP-fpm + Nginx

FastCGIプロジェクトを転送することを決めたとき、パフォーマンスは必要ありませんでした。FastCGIが提供する安定性やその他の利点は必要ありませんでした。 まず第一に、新しいことを学び、それがどのように機能するかを理解し、ビジネスのすべての利点を知りたいという願望でした。

インターネットで見つかった大量の情報を読んだ後、php-fpm + Nginxを選択しました。

プロジェクトがphpで記述されているため、なぜこの束が正確なのか、次にネットワークの非公式の標準である理由。



まず、検索エンジンで見つかった膨大な量の情報を読み直し、ほぼ同じ場所で、phpをダウンロードし、php-fpmにパッチを適用し、make、make installを実行します。



したがって、パッケージマネージャーを使用して解決策を見つけました。これを以下に示します。

すべての操作は、Amazon Linux x64 OSがインストールされたAmazon EC2 microで実行されたため、このシステムのすべての操作について説明します。 他のシステムでは、すべてとパッケージマネージャーはほぼ同じです。



コンポーネントのインストール


Nginxのインストール:

sudo yum install nginx







phpのインストール(Apache + phpが機能したため、必要ありませんでした):

sudo yum install php







php-fpmをインストールします。

sudo yum install php-fpm







インストール後、少しセットアップが必要です。



php-fpmで動作するようにnginxを構成すると、構成ファイルは/etc/nginx/nginx.confにあります。

全体のセットアップは、「ロケーション」セクション内に次のテキストを追加することになります。 また、私と同様に、Apache Webサーバーがすでに実行されているシステムに最初にインストールする場合は、サービスが動作するポートを修正することを忘れないでください。



  location ~ \.php$ { #root ; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name; include fastcgi_params; }
      
      







標準設定モードでバンドルを開始するには、構成ファイル(/etc/php-fpm.conf)を変更する必要はありません。 すべての構成パラメーターは、ファイル自体に詳しく説明されています。 こちらも参照できます

打ち上げ


設定が完了すると、起動に進みます。ここでは簡単です

sudo service php-fpm start

sudo service nginx start









テスト、apache + phpとnginx + php-fpmの比較、これはチューニングに関する記事であるため、ここでは説明しません。 ここでは、nginx + php-fpmがapache + phpよりもはるかに速く動作しないという主観的な意見のみを説明します。



All Articles