リリースされており、この記事は古くなっています。前回の記事でElasticsearchをインストールしたので、ドキュメントを登録していったりするかと思いきや、他の必要なミドルウェアをインストールします。併せてFastCGIの設定も行います。nginxとは“エンジンエックス”と読むのですが、Webサーバーです。数年前までWebサーバーと言えばApacheだったのですが、Webサイトへのアクセス増加や、Webサーバーの役割がWebページのホスティングだけでなくWebAPIを提供することなどに広がってきたことで、高パフォーマンスなWebサーバーが求められるようになりました。そのような中で登場したのがnginxです。Linux向けにはnginxのパッケージが用意されていますので、それをインストールします。Linux...なんか避けていましたが、便利な様子です。後述するPHPにちても、過去や最新バージョンのパッケージが揃っているなど一般的なアプリケーションは準備されています。CentOSのようにremiリポジトリを追加して・・・とかいう心配はあまり要らないようです。0:1.1-10.8.amzn1Complete!まだfasc-cgiの設定などもしないといけないので今起動ししても仕方ないけれど、動作確認のために起動します。nginxPHPphp7.0をインストールします。php7.2も出ようかという昨今ですが、互換性重視でphp7.0を選択しました。必要そうなパッケージを一気にインストールします。0:7.0.21-1.24.amzn1Complete!php-fpm先程インストールしたphp7.0に合わせたphp-fpmをインストールします。0:7.0.21-1.24.amzn1Complete!起動しても・・・起動します。]・・・設定を変更しないといけないのを思い出しました。www.confにあるユーザーの設定を変更しなくてはいけません。デフォルトではapacheになっています。apacheという箇所があるので、それぞれapacheの箇所をnginxに書き換えます。ついでに、ユニックスドメインソケットを使うように変更します。理由はその方が速いから、というだけです。/var/run/php-fpm.70.sock詳細はおいておいて、ここで指定したファイルを通じてphp-fpmと通信するわけです。そのファイルがnginxから読み取れるように、ファイル作成ユーザーも設定します。nginxに変更します。コメント行を表す先頭のセミコロンも削除しているのでお忘れなく。※listen.ownerとlisten.groupを変更せずにphp-fpmを起動してしまった場合、/var/run/php-fpm.70.sockがrootユーザーで作成されてしまいます。すると、後から変更してもすでにrootユーザで作成されたファイルがあるので、php-fpmの起動に失敗するかもしれません。一度、/var/run/php-fpm.70.sockを削除してから再度起動してみてください。※サイトによっては/tmpにこのファイルを指定するように指示するサイトもあるようですが、うまく動かないケースがあるようです。気を取り直して、再度起動。php-fpmについても自動起動の設定をします。php-fpm※しかし後で設定が不足していることが分かります。nginxの設定nginxの設定ファイルもバックアップを取ります。nginx.conf律儀にnginx.conf.defaultというファイルがありますが、無視してバックアップ。index.php;httpディレクティブにindexの設定もあるので、index.phpを追記しておきます。後で以下のlocationディレクティブを、各バーチャルホストのserverディレクティブに追加します。nginx.confにあるデフォルトのserverディレクティブに記述してエラーがないか、php-fpmがちゃんと動作しているかを確認します。$document_root$fastcgi_path_info;}そしてnginxを再起動。running...無事起動しました。phpの動作についても確認します。nginxのデフォルトのドキュメントルートは/usr/share/nginx/htmlに設定されていました。そこにtest.phpという名前で以下の内容のファイルを作成します。works!';そして、http://ホスト名/test.phpへアクセス。nginxか出力しているエラーなので、nginxのログを見てみます。"52.196.20.255"fastcgi://127.0.0.1:9000って・・・ユニックスドメインソケットを使うように設定したはずなんですけれど。ところで、ちょっと見慣れないファイルがあります。いや、別に元々ある設定ファイルなのですが、変更したことがないのでスルーしていました。/etc/nginx/conf.d/*.conf;という設定によって、このディレクトリにある設定ファイルが読み込まれています。*.confが読み込まれるので、使われているのはphp-fpm.confの方です。この、php-fpm.confの記述は以下のようになっています。"fastcgi://127.0.0.1:9000"とも合致します。CentOSにremiリポジトリからインストールした際にはphp-fpm.confにこのディレクティブはなかったので、完全に見落としていました。unix:/var/run/php-fpm.70.sock;に書き換えてphp-fpmを再起動します。]さて、ここで問題なくphp-fpmを使ったFastCGIで動いているかどうか確認してみます。php-fpmのログは/var/log/php-fpm/7.0/error.logに出力されています。connections・・・アクセスしてどうかなど、何も出ていません。アクセスログが出力されるように設定します。以下のページを参考にしました。ドキュメント読めば設定方法が分かるかと思いましたが、この設定の書き方はちょっと分かりにくい。/path/to/pools/$poolという行がありますので、これを変更してログの出力先ディレクトリを指定します。/var/log/php-fpm/7.0/$pool.access.logに変更します。設定ファイルの上の方で[www]という記載がありますが、これが$poolに入りますので、/var/log/php-fpm/7.0/www.access.logというディレクトリに出力されます。事前にディレクトリを作成しておきます。