LoginSignup
29
22

More than 5 years have passed since last update.

AWSのEC2で行うAmazon Linux2(nginx・php-fpm)環境構築

Posted at

Amazon Linux2の初期設定までの記事はこちらになります。それでは前回までに作成したAmazon Linux2でnginx・php-fpmの環境構築をしていきます。

バージョン情報

  • 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接続します。

$ ssh -i ~/.ssh/秘密鍵名.pem ユーザ名@パブリックDNS

nginxをインストール

以下のコマンドを実行してnginxをインストールします。

#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

set-amazonlinux2-nginx-phpfpm-aws-ec2_02.png

php-fpmをインストール

以下のコマンドを実行してphp-fpmをインストールします。

#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ドメインソケット接続を使用しているか確認できます。

$ 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 ]に変更します。

#php-fpmでのnginx実行ユーザー指定
- user = apache
+ user = nginx
- group = apache
+ group = nginx

#php-fpm再起動
$ sudo systemctl restart php-fpm.service

接続確認用phpファイル追加

以下のコマンドを実行して、ドキュメントルートでphpが実行できるか確認します。

#スーパーユーザーに切替
$ sudo su

#接続確認用phpファイル追加
$ echo '<?php phpinfo(); ?>' > /usr/share/nginx/html/phpinfo.php

#ブラウザ確認
$ パブリックDNS/phpinfo.php

set-amazonlinux2-nginx-phpfpm-aws-ec2_01.png

その他設定

以下のファイルを必要に応じて設定変更してください。

  • ファイルパス:/etc/nginx/nginx.conf
  • ファイルパス:/etc/nginx/default.d/php.conf
  • ファイルパス:/etc/nginx/conf.d/php-fpm.conf
関連
29
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
22