Amazon Linux2の初期設定までの記事はこちらになります。それでは前回までに作成したAmazon Linux2でnginx・php-fpmの環境構築をしていきます。
Contents
バージョン情報
- Mac OS 10.11.6(El Capitan)
- Amazon Linux 2 AMI (HVM)
- nginx version: nginx/1.12.2
- PHP 7.2.8 (fpm-fcgi)
事前に用意しておく必要があるもの
- 接続先EC2のパブリックDNS
- 作業ユーザ(Amazon Linux2の場合デフォルトはec2-user)
- EC2からダウンロードした秘密鍵(デフォルトは****.pem)
AWSのEC2にSSH接続
以下のコマンドを実行してAWSのEC2にSSH接続します。
1 2 |
$ ssh -i ~/.ssh/秘密鍵名.pem ユーザ名@パブリックDNS |
nginxをインストール
以下のコマンドを実行してnginxをインストールします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#amazon-linux-extrasでnginxのTopicを検索 $ amazon-linux-extras list $ amazon-linux-extras info nginx1.12 nginx1.12 recommends nginx # yum install nginx #インストール $ sudo amazon-linux-extras install nginx1.12 -y $ nginx -v nginx version: nginx/1.12.2 #自動起動設定 $ sudo systemctl start nginx.service $ sudo systemctl enable nginx.service $ systemctl status nginx.service #ブラウザ確認 $ パブリックDNS |
php-fpmをインストール
以下のコマンドを実行してphp-fpmをインストールします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#amazon-linux-extrasでphp-fpmのTopicを検索 $ amazon-linux-extras list $ amazon-linux-extras info php7.2 php7.2 recommends php-cli # yum install php-cli php7.2 recommends php-pdo # yum install php-pdo php7.2 recommends php-fpm # yum install php-fpm php7.2 recommends php-json # yum install php-json php7.2 recommends php-mysqlnd # yum install php-mysqlnd #インストール $ sudo amazon-linux-extras install php7.2 -y $ php-fpm -v PHP 7.2.8 (fpm-fcgi) (built: Aug 14 2018 16:48:43) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies #自動起動設定 $ sudo systemctl start php-fpm.service $ sudo systemctl enable php-fpm.service $ systemctl status php-fpm.service |
UNIXドメインソケット接続設定
nginxとphp-fpmのUNIXドメインソケット接続確認
以下のコマンドを実行して、nginxとphp-fpmでUNIXドメインソケット接続を使用しているか確認できます。
1 2 3 4 |
$ netstat -al --protocol=unix |egrep "Proto|fpm" Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 53736 /run/php-fpm/www.sock |
www.confの編集
- ファイルパス:/etc/php-fpm.d/www.conf
以下のコマンドを実行して、www.confファイル内の[ user ]と[ group ]を[ apache ]から[ nginx ]に変更します。
1 2 3 4 5 6 7 8 9 |
#php-fpmでのnginx実行ユーザー指定 - user = apache + user = nginx - group = apache + group = nginx #php-fpm再起動 $ sudo systemctl restart php-fpm.service |
接続確認用phpファイル追加
以下のコマンドを実行して、ドキュメントルートでphpが実行できるか確認します。
1 2 3 4 5 6 7 8 9 |
#スーパーユーザーに切替 $ sudo su #接続確認用phpファイル追加 $ echo '<?php phpinfo(); ?>' > /usr/share/nginx/html/phpinfo.php #ブラウザ確認 $ パブリックDNS/phpinfo.php |
その他設定
以下のファイルを必要に応じて設定変更してください。
- ファイルパス:/etc/nginx/nginx.conf
- ファイルパス:/etc/nginx/default.d/php.conf
- ファイルパス:/etc/nginx/conf.d/php-fpm.conf