天天看點

nginx + PHP (FastCGI) 高性能伺服器部署

LNAMP (linux + nginx + mysql + php)

        CGI 全稱是“公共網關接口”(common gateway interface),是WEB 伺服器與其它伺服器進行“交談”的工具,它的程式運作在網絡伺服器上。它可以用任何一種語言編寫,隻要這種語言具有标準輸入,輸出和環境變量。如 php, perl, tcl 等。

        FastCGI:WEB 伺服器與處理程式之間通信的一種協定 (app server 和 web server 之間的通信協定),是CGI 的改進方案。CGI 反複加載成為其性能低下的主要原因,若 CGI 程式保持在記憶體中并接受 FastCGI 程序管理高度,則可以提供良好的性能,伸縮性,Fail-Over 特性等。

      FastCGI是常駐型的 CGI,它可以一直運作,将CGI 解釋器程序保持在記憶體中,以此獲得較高的性能。

       FastCGI 是一個協定,php-fpm 實作了這個協定,php-fpm 的fastcgi 協定需要有程序池,php-fpm 實作的 fastcgi 程序叫 php-cgi, 是以 php-fpm 也是他自身的 fastcgi 或 php-cgi 程序管理器。

工作原理圖:

<a href="http://s3.51cto.com/wyfs02/M02/72/FD/wKioL1XxXi2DI8tzAACImfsluWg398.jpg" target="_blank"></a>

Nginx + FastCGI 安裝配置:

3.下載下傳編譯安裝 PHP

    cd  /data

    yum -y install  gd  curl  curl-devel  lib  jpeg  libjpeg-devel  libpng  libpng-devel  freetype  freetype-devel  libxml2  libxml2-devel  mysql  mysql-devel

    ./configure  --prefix=/usr/local/php5  

                        --enable-fpm --enable-debug 

                        --with-gd--with-jpeg-dir 

                        --with-png-dir --with-freetype-dir 

                        --enable-mbstring--with-curl 

                           --with-mysql=mysqlnd  

                        --with-mysqli=mysqlnd 

                        --with-pdo-mysql=mysqlnd

    make &amp;&amp; make  install

    cp  php.ini-development    /usr/local/php5/lib/php.ini

    cp /usr/local/php5/etc/php-fpm.conf.default    /usr/local/php5/etc/php-fpm.conf    /usr/local/php/sbin/php-fpm

    cp    sapi/fpm/init.d.php-fpm        /etc/init.d/php-fpm

2.Nginx 檔案設定:

server { 

 include port.conf; 

 server_name www.jfedu.netjfedu.net; 

  location / { 

 index index.htmlindex.php; 

 root/usr/local/nginx/html; 

 } 

 location  ~ \.php$ { 

            root           html; 

           fastcgi_pass  127.0.0.1:9000; 

            fastcgi_index  index.php; 

           fastcgi_param SCRIPT_FILENAME html$fastcgi_script_name; 

            include        fastcgi_params; 

        } 

}

測試 Nginx + PHP 整合結果

<a href="http://s3.51cto.com/wyfs02/M00/73/00/wKiom1XxYHKSn4etAAIwhwoxVVY295.jpg" target="_blank"></a>

本文轉自   tianshuai369   51CTO部落格,原文連結:http://blog.51cto.com/songqinglong/1693536