AWSのEC2で行うAmazon Linux2(nginx・php-fpm)環境構築
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
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
その他設定
以下のファイルを必要に応じて設定変更してください。
- ファイルパス:/etc/nginx/nginx.conf
- ファイルパス:/etc/nginx/default.d/php.conf
- ファイルパス:/etc/nginx/conf.d/php-fpm.conf
関連
Author And Source
この問題について(AWSのEC2で行うAmazon Linux2(nginx・php-fpm)環境構築), 我々は、より多くの情報をここで見つけました https://qiita.com/2no553/items/968068b1752ea6154beb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .