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