Help us understand the problem. What is going on with this article?

EC2にnginx+php(php-fpm socket)環境を最速で構築

More than 3 years have passed since last update.

EC2上インスタンスにnginxとPHP5.6を入れて、PHPの実行環境を最速で作成する方法です。

ゴール

  • Amazon Linux AMIの標準リポジトリのnginxとphp5.6, php-fpm環境を構築します
  • ブラウザからPHPスクリプトにアクセスできる状態になります
  • nginxとphp-fpm間のやりとりをUnixドメインソケットに変更します
  • ドキュメントルートは、/var/www/defaultにします

EC2 インスタンスを起動

Amazon Linux AMI 2015.03 (HVM), SSD Volume Type でインスタンスを建てる。普通に立てればOK。
最後に外から見えるかみたい人は、Elastic-IPかパブリックIPを振り、セキュリティグループの設定でTCP80番を開けておきます。

インストール

nginx, php56 , php56-fpmをインストール

sudo yum install nginx -y
sudo yum install php56 php56-fpm -y

設定ファイルの変更

まずはnginxの設定ファイルの変更から。

/etc/nginx/nginx.conf
+ server_tokens off;

  http {
-   index index.html index.htm;
+   index index.php
      server {
-       root /usr/share/nginx/html; 
+       root /var/www/default;

-       #location ~ \.php$ {
-       #    root           html;
-       #    fastcgi_pass   127.0.0.1:9000;
-       #    fastcgi_index  index.php;
-       #    fastcgi_param  SCRIPT_FILENAME/scripts$fastcgi_script_name;
-       #    include        fastcgi_params;
-       #}
+       location ~ \.php$ {
+       root           /var/www/default;
+       fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
+       fastcgi_index  index.php;
+       fastcgi_param  SCRIPT_FILENAME /var/www/default$fastcgi_script_name;
+       include        fastcgi_params;
+     }

次にphp-fpmの設定。

/etc/php-fpm-5.6.d/www.conf
- user = apache
+ user = nginx

- group = apache
+ group = nginx

-   listen = 127.0.0.1:9000
+   listen =  /var/run/php-fpm/php-fpm.sock

-   ;listen.owner = nobody
-   ;listen.group = nobody
+   listen.owner = nginx  
+   listen.group = nginx

起動と自動起動設定

nginx, phpをそれぞれ起動します。

sudo service nginx start
sudo chkconfig nginx on
sudo chkconfig --list nginx

sudo service php-fpm start
sudo chkconfig php-fpm on
sudo chkconfig --list php-fpm

表示確認

# 適当なファイル名に変更
echo "<?php phpinfo();" >> /var/www/default/hogehogehoge.php

ブラウザから以下にアクセスして、phpinfoが表示されればOKです。
このファイルは確認したらすぐに消しましょう。

http://[サーバーのIPアドレス]/hogehogehoge.php

参考

AmazonLinuxにnginx+PHP5.6+PHP-fpm+PHP-redis環境を作る - Qiita

koni
株式会社AutoScale 代表 Twitter アカウント管理ツール「SocialDog」 というサービスを作っています。
http://koni.hateblo.jp/
autoscale
Twitter アカウント管理サービス「SocailDog」を開発・運営するスタートアップ
https://autoscale.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away