55666


現在Nginx、PHP-FPM、Laravelを使用しての学習をしています。  
そこでPHP-FPMについて、自分の中では  
LaravelのPHPを実行する場所という理解なのですが、  
しっかり把握できていないために設定がなかなか進まない状況です。  
PHP-FPMの機能について具体的に教えていただきたいです。


CC BY-SA 4.0
2019-06-10T01:39:22.257
55661
2019-06-10T03:17:08.983
29047
question
php nginx laravel
php-fpmについて


ApacheやNginxなどのWebサーバは、  
httpリクエストを受け取り対応するhtml文書などをhttpレスポンスで返します。  
htmlが要求された場合はそのファイルの内容をレスポンスボディとしてそのまま返しますが、  
phpが要求された場合はphpを処理する仕組みがWebサーバ自体には存在しないため、  
phpを処理する仕組みと連携する必要があります。

  1. 別のプロセスに処理を移譲する：php-fpm
  2. phpを処理する仕組みをWebサーバに追加内蔵する：Apacheでのmod_php

php-fpm は、fast cgi経由での連携を前提としたphpを処理する仕組みです。

※ cgi、fast cgi  
cgiは、Webサーバーがcgiに処理を要求するたびにプロセスを実行し結果をもらったら終了します。  
fast cgiは、処理が終わってもプロセスが終了せずに次の処理をするために常駐待機します。

※ homestead  
Ubuntu上にnginx + php-fpmが構築済みのvagrant boxイメージだと思います。  
使ったことないので確証はないですが。


CC BY-SA 4.0
2019-06-10T03:17:08.983
55666
2019-06-10T03:17:08.983
25396
55661
answer