一、初窺計算機網路
伺服器向客服端提供服務
由此圖看來, 伺服器也是經過了七層OSI的。
二、試驗
request: http://x_build.cc/img/home/index.html
www.conf 配置檔案(php-fpm) | nginx.conf 配置檔案(fast-cgi) | 檔案index.html是否存在 | 瀏覽器返回報錯 | fast-cgi是否載入並監聽 | php-fpm是否解析 |
;security.limit_extensions = | location ~* .*\.(php|html)?$ | 存在 | 403 | 是 | 否 |
;security.limit_extensions = | location ~* .*\.(php|html)?$ | 不存在 | 404 | 是 | 否 |
security.limit_extensions = html | location ~* .*\.(php|html)?$ | 存在 | 200(顯示檔案內容) | 是 | 是 |
security.limit_extensions = html | location ~* .*\.(php|html)?$ | 不存在 | 404 | 是 | 是 |
;security.limit_extensions = | location ~* .*\.(php)?$ | 存在 | 200 | 否 | 否 |
;security.limit_extensions = | location ~* .*\.(php)?$ | 不存在 | 404 | 否(當做靜態資源處理) | 否 |
security.limit_extensions = html | location ~* .*\.(php)?$ | 不存在 | 403 | 是(當做動態資源處理) | 否 |
security.limit_extensions = html | location ~* .*\.(php)?$ | 存在 | 200 | 否(當做靜態資源處理) | 否 |
以上的測試結果能夠表明在nginx配置 location ~ ..(php|html)?$中, php|html字尾檔案都會載入nginx的fast-cgi模組, 並監聽127.0.0.1:9000地址, 當請求到達127.0.0.1:9000地址時, 檔案已經被載入到記憶體了(由table - row1 & row2能得出結論)
三、nginx與php-fpm結合的完整流程。
x_build.cc/img/home/index.html
|
|
Nginx
|
|
路由到x_build.cc/img/home/index.html
|
|
載入nginx的fast-cgi模組
|
|
fast-cgi監聽127.0.0.1:9000地址
|
|
x_build.cc/img/home/index.html請求到達127.0.0.1:9000 (猜想:此時已經載入了index.html檔案)
|
|
php-fpm 監聽127.0.0.1:9000
|
|
php-fpm 接收到請求,啟用worker程式處理請求
|
|
php-fpm 處理完請求,返回給nginx
|
|
nginx將結果通過http返回給瀏覽器
參考文章:https://segmentfault.com/a/119000000732235...
本作品採用《CC 協議》,轉載必須註明作者和本文連結