1.Nginx介紹
Nginx是一個非常輕量級的HTTP服務器,Nginx,它的發音為“engine X”, 是一個高性能的HTTP和
反向代理服務器,同時也是一個IMAP/POP3/SMTP 代理服務器。
2.對PHP支持
目前各種web 服務器對PHP的支持一共有三種:
(1)通過web 服務器內置的模塊來實現,例如Apache的mod_php5,類似的Apache內置的mod_perl
可以對perl支持。
(2)通過CGI來實現,這個就好比之前perl的CGI,該種方式的缺點是性能差,因為每次服務器遇到
這些腳本都需要重新啟動腳本解析器來執行腳本然后將結果返回給服務器;
另一方面就是不太安全;該方面幾乎很少使用了。
(3)最新出現一種叫做FastCGI。所謂FastCGI就是對CGI的改進。它一般采用C/S結構,一般腳本處理器
會啟動一個或者多個daemon進程,每次web 服務器遇到腳本的時候,直接交付給FastCGI的進程來執行,然后
將得到的結果(通常為html)返回給瀏覽器。
2.1 Apache+mod_php模式
我們很久一段時間使用經典的Apache+mod_php。
Apache對PHP的支持是通過Apache的模塊來支持的。如果從源代碼編譯安裝PHP的話,如果希望Apache支持
PHP的話,在./configure步驟需要指定--with-apxs2=/usr/local/apache2/bin/apxs 表示告訴編譯器通過
Apache的mod_php5/apxs來提供對PHP5的解析;而且在最后一步make install的時候我們會看到將動態鏈接庫
libphp5.so拷貝到apache2的安裝目錄的modules目錄下,并且還需要在httpd.conf配置文件中添加LoadModule
語句來動態將libphp5.so模塊加載進來,從而實現Apache對php的支持。
2.2 Nginx+FastCGI模式
Nginx完全是輕量級的,必須借助第三方的FastCGI處理器才可以對PHP進行解析,因此其實這樣看來Nginx是
非常靈活的,它可以和任何第三方提供解析的處理器實現連接從而實現對PHP的解析(在nginx.conf中很容易設置)。
Nginx可以使用spwan-fcgi。在早期版本中需要安裝lighttpd,但是在9.10版本以后直接安裝spawn-fcgi就可以。
現在出現了新的第三方的PHP的FastCGI處理器,叫做PHP-FPM,可以了解一下。本文是基于spawn-fcgi實現對
PHP模塊的支持。
2.3 安裝FastCGI
/usr/bin/spawn-fcgi這個文件來管理 FastCGI,它原屬于lighttpd這個包里面,但 9.10 后,spawn-fcgi
被分離出來單獨成包。
(1)使用apt-get在線安裝命令如下:
$sudo apt-get install spawn-fcgi
(2)源代碼安裝如下,下載地址為:
http://www.lighttpd.net/download/spawn-fcgi-1.6.3.tar.gz
解壓縮以后,進入目錄下執行如下安裝命令:
$./configure
$make
$make install
安裝之后,spawn-fcgi命令就可以直接使用了,它的可執行文件在/usr/local/bin/spawn-fcgi。
新聞熱點
疑難解答