nginx로 PHP 실행

3145 단어 php-fpmnginx

배경



Nginx에서 PHP를 실행하려면 php-fpm을 설치할 때까지 기억하고 있어도 다음 설정을 쓰는 방법을 매번 완전히 잊어 버렸기 때문에 참고하십시오.
모듈의 설치는 끝나는 전제로, 그 후의 설정 부분만을 기술하고 있습니다.

환경


  • Amazon Linux 2
  • PHP 7.2.16 (php -v)
  • nginx/1.12.2(nginx -v)

  • 설정



    nginx 측 설정



    /etc/nginx/nginx.conf 를 편집할 필요가 있다.
    스탠자가 http → server (80 및 443) → location 의 계층 구조로 되어 있다.
    서버의 80과 443 모두에 php 용 location 스탠자를 추가하십시오 (사용하는 것만으로도 좋지만)

    nginx.conf
            location ~ \.php$ {
                root           /usr/share/nginx/html; # ここは nginx の / ディレクトリにしておく。nginx の / から下の階層の全てでPHPが実効できるようになる。
                # root           /var/www;
                # fastcgi_pass   127.0.0.1:9000;  # これは php-fpm の設定に依存する。自分は使わない派。ネットの記事は使っているものが多い。
                fastcgi_pass    unix:/run/php-fpm/www.sock; # こちら派。パスの設定は、php-fpm 側の記述に unix: を付けたものになる。
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
                include        fastcgi_params;
            }
    
    

    편집이 완료되면 재부팅
    sudo nginx -s reload
    

    php-fpm 측 설정



    /etc/php-fpm.d/www.conf를 편집해야합니다.

    /etc/php-fpm.d/www.conf
    ; RPM: apache user chosen to provide access to the same directories as httpd
    user = nginx # nginx にする
    ; RPM: Keep a group allowed to write in log dir.
    group = nginx  # nginx にする
    
    <省略>
    ; Note: This value is mandatory.
    listen = /run/php-fpm/www.sock   # これを使って通信するので、この値をnginx.confで指定する。
    
    <省略>
    ;                 mode is set to 0660
    listen.owner = nginx  # nginx にする
    listen.group = nginx  # nginx にする
    
    

    편집이 완료되면 재부팅
    sudo service php-fpm restart
    

    PHP 동작 확인을 위한 평소 파일



    동작 확인용 phpinfo.php 를 작성해, nginx 의 루트에 배치한다.

    이 예에서 nginx 루트는 다음이므로 다음 루트에 테스트 용 php를 배치하십시오.
    /usr/share/nginx/html

    phpinfo.php
    <?php phpinfo(); ?>
    

    nginx 루트 ㅋㅋ. 그래 mpぇ. 이 m/ph 핑후. php에 액세스하면 익숙한 다음 화면이 보이면 설치가 완료됩니다.

    좋은 웹페이지 즐겨찾기