###Nginx概述
1.一個輕量級代理服務器,本身不支持動態語言的解析和執行,而是把網絡請求轉發給動態語言的解析器進程,通過網絡交互方式傳入請求數據,接收響應數據,然后返回給客戶端。
2.Nginx以高性能的負載均衡器,緩存,和web服務器聞名,驅動了全球超過 40% 最繁忙的網站。
3.Nginx適合結合FastCGI運行PHP,JSP,Perl等腳本程序;使用Nginx作為反向代理,可以方便地結合Tomcat部署JavaWeb程序;使用Nginx+Cache緩存插件,用于訪問靜態的html,圖片等,相當于一個CDN了。
###Nginx優點總結
1. 高并發:能支持1~2萬甚至更多的并發連接(靜態小文件環境下)
2. 內存消耗少:在3萬并并發下,開啟適合nginx進程消耗不到200M的內存。
3. 可做http反向代理,即負載均衡的功能,相當于專業的haproxy軟件或lvs的功能
4. 內置對RS服務器器健康檢查功能:如果nginx proxy后端某臺web服務器宕機,不會影響前端的訪問,這個功能還比較弱,需要后續改進。
5. 通過cache插件(cache_purge)可以實現類squid等專業的緩存軟件實現的功能。
6. nginx最主要的有點是:支持kqueue(FreeBSD 4.1+),eqoll(Linux 2.6+)等網絡IO事件模型,由此支持高并發。
###Nginx我的總結
* Nginx的職能非常專一,就是接受http請求,然后交給對應的fastCGI程序處理請求,然后接收處理后的響應數據,最后將數據返回給客戶端。
* Nginx是主從結構,一個master,很多個worker,master負責接收服務器管理員指令,然后發送給worker,從而實現操作服務器的目的。worker是真正干活的,一個worker負責處理一個請求。
* Nginx通過網絡和FastCGI程序進行通信,傳輸和接收數據。
總結至:http://blog.csdn.net/hguisu/article/details/8930668
###Nginx模塊常規的HTTP請求和響應的過程

###nginx的進程模型

###Nginx+FastCGI運行過程

###PHP FPM
PHP-FPM是管理FastCGI的一個管理器,它作為PHP的插件存在,在安裝PHP要想使用PHP-FPM時在老php的老版本(php5.3.3之前)就需要把PHP-FPM以補丁的形式安裝到PHP中,而且PHP要與PHP-FPM版本一致,這是必須的)
PHP-FPM其實是PHP源代碼的一個補丁,旨在將FastCGI進程管理整合進PHP包中。必須將它patch到你的PHP源代碼中,在編譯安裝PHP后才可以使用。
PHP5.3.3已經集成php-fpm了,不再是第三方的包了。PHP-FPM提供了更好的PHP進程管理方式,可以有效控制內存和進程、可以平滑重載PHP配置,比spawn-fcgi具有更多優點,所以被PHP官方收錄了。在./configure的時候帶 –enable-fpm參數即可開啟PHP-FPM。
fastcgi已經在php5.3.5的core中了,不必在configure時添加 --enable-fastcgi了。老版本如php5.2的需要加此項。