Twitter Facebook github

EC2にサクっとnginxとphpの環境を整える

そういうメンテ済みのAMIを拾ってくるっていう話はなしで、普通にキレイなAmazonLinuxAMIをベースに入れていきます。

既にインスタンスは起動していて、sshで接続しているのを前提にします。また、インスタンスに紐付いているセキュリティポリシーで外部からHTTP(TCP 80)へ通信が通るようにしてください。

nginxとPHPをインストール

PHPモジュールはphp56とphp56-fpmが必須です。他は任意で選択してください。

 

nginxの設定

nginxはデフォルトでphpファイルをハンドリングしないため、インデックスパスへの追加とphpファイルへアクセスした際にphp-fpmへソケットで受け流す設定にします。

php-fpmの設定

こちらは主にapacheで使用する設定からnginxで使用する設定に変更し、ソケット通信を用いるようにします。

起動

設定ファイルの変更が終わったらいよいよ起動です。

OSを再起動したときに自動起動する設定にしておきます。

動作確認

それぞれのURLでアクセスでき、正しくechoの中身だけが出力されていればOKです。

もし繋がらないときは、設定ファイルを見直して、nginxとphp-fpmが正しく起動されているか確認してください。見落としやすいミスとして、AWS上で起動したインスタンスに紐付いているセキュリティポリシーでHTTPのアクセスを弾いていることがあります。またインスタンス上でiptablesが実行されている場合は次のコマンドで停止させてください。

さいごに

これらの設定は最速で動かすことを目指して書いています。実際にはこれらをインストールする前にLinuxのセキュリティ設定を行うべきですし、nginxのセキュリティ設定やチューニング、アプリケーション側のnginx対応などを行う必要があります。

それらについてはまた別に書きますが、上の設定のまま実際にウェブサイトを公開することは危険です。必ずセキュアな状態にした上で公開してください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください