首页 > Web开发 > 详细

apache和nginx關聯php的過程

时间:2021-03-27 12:44:25      阅读:22      评论:0      收藏:0      [点我收藏+]

Nginx端

Nginx是一個服務器,同時也是一個功能強大的proxy服務器,除了進行http請求的代理,還可以進行其他協議請求代理(fastCgi協議),為了能使nginx理解fastCgi協議,nginx提供了fastcgi模塊來降http請求映射為對應的fastCgi請求

fastcgi_param:處理映射關係

fastcgi_pass:指定fpm進程監聽的地址

技术分享图片

FPM端

fmp是一個php進程管理器,包含master和worker進程,master進程只有一個,負責監聽端口,接收來自web server的請求,而worker進程則有多個,每個進程內部都嵌入了一個php解釋器,是php代碼真正執行的地方

  1. fpm的master接收到請求
  2. master根據worker進程進行處理,如果沒有可用進程,配合nginx返回502
  3. worker進程進行處理,超時返回504
  4. 請求結束,返回結果

最終執行過程:

  •  nginx通過localtion將所有的php文件(http請求),通過轉發交給fpm處理
  • php接收到請求後,進行處理

 知識點補充:

CGI:一種協議(幫助服務器和語言通信)

FastCgi:一種比CGI更快的協議(為了解決單線程問題)

PHP_Cgi:php自帶的一個進程管理器

PHP-Fpm:php-cgi的升級版(有效控制內存和進程、可以平滑重載php配置)

 

php-fpm請求處理圖

技术分享图片

 

技术分享图片

 

php-cgi請求處理圖

技术分享图片

 

apache和nginx關聯php的過程

原文:https://www.cnblogs.com/8013-cmf/p/14585120.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!