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

  • 관련
  • AWS EC2에서 수행하는 Amazon Linux2 초기 설정 – Ninolog
  • AWS EC2에서 수행하는 Amazon Linux2(MySQL5.7) 환경 구축 – Ninolog
  • 좋은 웹페이지 즐겨찾기