亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

編譯PHP并與Ngnix整合

2020-03-22 17:55:04
字體:
來源:轉載
供稿:網友
  • nginx本身不能處理PHP,它只是個web服務器,當接收到請求后,如果是php請求,則發給php解釋器處理,并把結果返回給客戶端。

    nginx一般是把請求發fastcgi管理進程處理,fascgi管理進程選擇cgi子進程處理結果并返回被nginx

    一、首先我們先初步認識下FastCGI和Ngnix+FastCGI的運行原理

        1、apache+PHP和ngnix+php的區別

          apache一般是把php當做自己的一個模塊來啟動;而ngnix則是把http請求變量轉發給php進程,即php獨立進程,與ngnix通信,這種方式叫做FastCGI運行方式。

          所以,apache所編譯的php不能用于ngnix。

        先看一個簡單的圖:

      

      以下這段我認為是在網絡上找到的最通俗易懂的解釋,我將它復制進來方便大家理解:

      1、什么是FastCGI呢?

        FastCGI是一個可伸縮地、高速地在HTTP server和動態腳本語言間通信的接口。多數流行的HTTP server都支持FastCGI,包括Apache、Nginx和lighttpd等。同時,FastCGI也被許多腳本語言支持,其中就有PHP。

        FastCGI是從CGI發展改進而來的。傳統CGI接口方式的主要缺點是性能很差,因為每次HTTP服務器遇到動態程序時都需要重新啟動腳本解析器來執行解析,然后將結果返回給HTTP服務器。這在處理高并發訪問時幾乎是不可用的。另外傳統的CGI接口方式安全性也很差,現在已經很少使用了。

        FastCGI接口方式采用C/S結構,可以將HTTP服務器和腳本解析服務器分開,同時在腳本解析服務器上啟動一個或者多個腳本解析守護進程。當HTTP服務器每次遇到動態程序時,可以將其直接交付給FastCGI進程來執行,然后將得到的結果返回給瀏覽器。這種方式可以讓HTTP服務器專一地處理靜態請求或者將動態腳本服務器的結果返回給客戶端,這在很大程度上提高了整個應用系統的性能。

      2、Nginx+FastCGI運行原理 

        Nginx不支持對外部程序的直接調用或者解析,所有的外部程序(包括PHP)必須通過FastCGI接口來調用。FastCGI接口在Linux下是socket(這個socket可以是文件socket,也可以是ip socket)。

        wrapper:為了調用CGI程序,還需要一個FastCGI的wrapper(wrapper可以理解為用于啟動另一個程序的程序),這個wrapper綁定在某個固定socket上,如端口或者文件socket。當Nginx將CGI請求發送給這個socket的時候,通過FastCGI接口,wrapper接收到請求,然后Fork(派生)出一個新的線程,這個線程調用解釋器或者外部程序處理腳本并讀取返回數據;接著,wrapper再將返回的數據通過FastCGI接口,沿著固定的socket傳遞給Nginx;最后,Nginx將返回的數據(html頁面或者圖片)發送給客戶端。這就是Nginx+FastCGI的整個運作過程,

        

      所以,我們首先需要一個wrapper,這個wrapper需要完成的工作:

    通過調用fastcgi(庫)的函數通過socket和ningx通信(讀寫socket是fastcgi內部實現的功能,對wrapper是非透明的) 調度thread,進行fork和kill 和application(php)進行通信

    二、編譯PHP

      首先我們先認識一個概念:php-fpm

       ?。?)PHP-FPM是一個PHP FastCGI管理器,是只用于PHP的,可以在 http://php-fpm.org/download下載得到

         (2)PHP-FPM其實是PHP源代碼的一個補丁,旨在將FastCGI進程管理整合進PHP包中。必須將它patch到你的PHP源代碼中,在編譯安裝PHP后才可以使用

         (3)新版的PHP已經集成了php-fpm,在./configure的時候帶 –enable-fpm參數即可開啟PHP-FPM

      接下來我們開始安裝編譯PHP

      1、編譯前我們需要先安裝一些php需要用到的庫(我用的是centos版本的linux系統)

        yum -y install gcc automake autoconf libtool make

        yum -y install gcc gcc-c++ glibc

        yum -y install libmcrypt-devel mhash-devel libxslt-devel

        libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel

        zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel

        ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel

        krb5 krb5-devel libidn libidn-devel openssl openssl-devel

      2、獲取php源碼包

        wget http://cn2.php.net/distributions/php-5.4.7.tar.gz

       3、解壓并進入php目錄

        tar zvxf php-5.4.7.tar.gz

        cd php-5.4.7

        

       4、編譯并安裝

        ./configure --prefix=/usr/local/fastphp --enable-fpm --with-mcrypt

        --enable-mbstring --disable-pdo --with-curl --disable-debug --disable-rpath

        --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets

        --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex

        --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli

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

      

        make all install

      5、將php-fpm復制一份  


      6、將php配置文件復制一份
      

      7、修改nginx配置文件以支持php-fpm
        首先打開ngnix配置文件
          vim /usr/local/ngnix/conf/ngnix.conf
        在server段里加入以下代碼
        
        保存

      8、啟動php-fpm和ngnix
        /usr/local/ngnix
        /usr/local/ngnix/sbin/php-fpm

      9、在根目錄下創建測試文件test.php做個簡單的測試
        

      10、測試成功
        



    php-fpm的關閉和重啟需要使用信號控制,其實就跟ngnix的關閉重啟一樣
      php-fpm 關閉:kill -INT `cat /usr/local/fastphp/var/run/php-fpm.pid`
      php-fpm 重啟:kill -USR2 `cat /usr/local/fastphp/var/run/php-fpm.pid`
      查看php-fpm進程數:ps aux | grep -c php-fpm


    Ngnix的安裝請查看我的另一篇博文
      http://www.cnblogs.com/it-cen/p/4310050.html

      如果您覺得您能在此博文學到了新知識,請為我頂一個,如文章中有解釋錯的地方,歡迎指出。

      互相學習,共同進步!

     
    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    日韩在线观看免费av| 日韩精品亚洲元码| 深夜精品寂寞黄网站在线观看| 日韩国产欧美精品在线| 久久国产加勒比精品无码| 亚洲qvod图片区电影| 欧美国产日韩免费| 亚洲bt天天射| 日韩精品久久久久久久玫瑰园| 国产精品视频一区国模私拍| 亚洲久久久久久久久久久| 亚洲视频网站在线观看| 午夜剧场成人观在线视频免费观看| 亚洲精品第一页| 亚洲人成电影在线播放| 韩剧1988在线观看免费完整版| 97国产精品人人爽人人做| 久久香蕉精品香蕉| 久久免费成人精品视频| 欧美中文字幕在线| 亚洲精品成人免费| 伊人av综合网| 色无极影院亚洲| 欧美一级黑人aaaaaaa做受| 欧美高清视频免费观看| 热久久视久久精品18亚洲精品| 亚洲电影免费观看高清完整版在线| 亚洲最大福利视频网| 国产精品视频一区国模私拍| 国产日韩欧美在线播放| 亚洲第一网站免费视频| 欧美成人性色生活仑片| 亚洲欧美制服中文字幕| 亚洲视频精品在线| 久久久人成影片一区二区三区观看| 亚洲va码欧洲m码| 九九热精品视频国产| 欧美精品激情blacked18| 亚洲一区二区三区乱码aⅴ| 精品久久久中文| 91情侣偷在线精品国产| 亚洲精品视频免费在线观看| 亚洲美女在线观看| 欧美日韩成人网| 亚洲精品福利在线观看| 欧美日韩裸体免费视频| 国产精品男人爽免费视频1| 亚洲成人av片| 中文字幕精品在线| 成人激情视频在线播放| 日韩精品视频在线| 欧美疯狂性受xxxxx另类| 日韩欧美精品在线观看| 97久久精品人人澡人人爽缅北| 国产中文字幕亚洲| 国语自产精品视频在免费| 亚洲欧美激情在线视频| 国产精品欧美一区二区三区奶水| 欧美国产在线电影| 久久精品男人天堂| 欧美精品中文字幕一区| 国产91精品青草社区| 91中文精品字幕在线视频| 97国产在线视频| 美日韩丰满少妇在线观看| 日韩影视在线观看| 国产专区精品视频| 久久久www成人免费精品| 日韩精品中文字幕在线| 国产精自产拍久久久久久蜜| 国产精品视频网| 国产一区二区免费| 亚洲一区二区三区sesese| 欧美大全免费观看电视剧大泉洋| 日本三级久久久| 欧美亚洲日本黄色| 欧美色videos| 国产一区视频在线播放| 国产香蕉一区二区三区在线视频| 国产精品网红福利| 国产精品日韩欧美综合| 国产精品1区2区在线观看| 国产精品偷伦一区二区| 成人性生交大片免费看小说| 成人h片在线播放免费网站| 国产亚洲精品久久| 一区二区欧美亚洲| 5278欧美一区二区三区| 成人观看高清在线观看免费| 精品国内亚洲在观看18黄| 国产日韩精品一区二区| 国产精品久久77777| 国产精品亚洲片夜色在线| 国产精品吹潮在线观看| 精品中文字幕久久久久久| 亚洲影院污污.| 国产日韩欧美影视| 国产欧美日韩精品丝袜高跟鞋| 欧美日韩性视频在线| 538国产精品一区二区免费视频| 中文字幕久久精品| 中文字幕精品视频| 亚洲精品视频在线观看视频| 亚洲桃花岛网站| 国产欧美精品一区二区三区-老狼| 国产精品永久在线| 国产精品嫩草影院一区二区| 久久久久久久网站| 国产精品青青在线观看爽香蕉| 97精品欧美一区二区三区| 综合网中文字幕| 国产不卡av在线免费观看| 欧美精品18videos性欧美| 欧美视频中文字幕在线| 中文字幕亚洲欧美日韩2019| 亚洲欧美日韩一区二区在线| 国产精品网站大全| 97avcom| 亚洲精品影视在线观看| 亚洲国产美女精品久久久久∴| 91精品国产高清自在线看超| 国产精品稀缺呦系列在线| 欧美福利视频在线观看| 国产成人啪精品视频免费网| 亚洲国产精品久久| 成人国产亚洲精品a区天堂华泰| 国产精品久久久久久影视| 国产精品白嫩美女在线观看| 91精品国产自产91精品| 国产女人精品视频| 精品福利视频导航| 欧美俄罗斯性视频| 亚洲欧美日韩另类| 日本免费在线精品| 国产区亚洲区欧美区| 精品久久久久久久久久| 91精品国产自产在线观看永久| 国产精品成人av在线| 91综合免费在线| 亚洲风情亚aⅴ在线发布| 日韩成人小视频| 不卡av在线播放| 亚洲视频在线免费观看| 久久在线精品视频| 日韩av中文在线| 欧美精品videosex性欧美| 在线成人一区二区| 久久久噜噜噜久久久| 国产98色在线| 亚洲一区亚洲二区亚洲三区| 国产精彩精品视频| 疯狂做受xxxx高潮欧美日本| 最近中文字幕2019免费| 国产精品网站视频| 亚洲一区二区三区视频播放| 亚洲护士老师的毛茸茸最新章节| 欧美怡春院一区二区三区| 欧美老女人在线视频| 羞羞色国产精品| 热门国产精品亚洲第一区在线| 日本一本a高清免费不卡| www.久久色.com| 一区二区三区动漫| 欧美精品久久久久久久久|