Windows下Nginx + PHP配置_Windows教程

      編輯Tag賺U幣
      教程Tag:配置添加

      本文是我在 Windows XP 安裝中 Nginx 和 PHP5.2 的步驟。

      PHP5配置
      安裝PHP5,如何連接mysql等不是本文重點。假設php5已經安裝到c:php5目錄下. 本文著重在Nginx的基本安裝及其于PHP的連接。這里僅僅提及設置php.ini的一項:

      Php.ini代碼 

      ; CGI 設置   

      cgi.fix_pathinfo = 1  

      ; CGI 設置
      cgi.fix_pathinfo = 1
      


      修改 php.ini,設置 cgi.fix_pathinfo = 1,這非常重要,PHP 會修正 SCRIPT_FILENAME 為真實的文件地址,否則 PHP 將無法找到需要處理的 php 文件。

      配置 PHP FastCGI
      Nginx 需要和 FastCGI Server 配合才能處理請求。
      先說FastCGIServer如何運行,有兩種方式運行 PHP FastCGI Server:
      一種就是使用 PHP 內置的 FastCGI 管理器:

      Command代碼 

      C:/php5/php-cgi.exe -b 127.0.0.1:9000 -c C:/php5/php.ini  

      C:/php5/php-cgi.exe -b 127.0.0.1:9000 -c C:/php5/php.ini



      另外一種方式是使用第三方工具:
      比如 PHP-FPM 、cgi-fcgi 等。顯然!要在 Windows 中使用這些工具是件極其痛苦的事情,你可能需要 Cygwin 之類的東西才行,的確有人這么做了,雖然我覺得那是自尋煩惱。

      再說nginx.conf關于FastCgi的連接配置

      Nginx.conf代碼 

      location ~ .php$ {   

        root           html;   

        # 連接到本機 9000 端口,這里的端口是指 PHP FastCGI Server 開啟的端口,   

        # 請與 php-cgi.exe 開啟的端口保持一致   

        # 當 Nginx 收到 php 文件的請求時,會自動轉發到 PHP FastCGI Server   

        fastcgi_pass   127.0.0.1:9000;   

        fastcgi_index  index.php;   

        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;     

        # Nginx 默認是不支持 CGI PATH_INFO,SCRIPT_NAME 的值也不標準(糅合了 PATH_INFO)   

        # 下面的兩行指令,可以從 SCRIPT_NAME 中剝離出 PATH_INFO   

        fastcgi_split_path_info     ^(.+.php)(.*)$;   

        fastcgi_param PATH_INFO     $fastcgi_path_info;   

        # 包含另一個配置文件 fastcgi_params   

        include        fastcgi_params;   

      }  

      location ~ .php$ {
        root           html;
        # 連接到本機 9000 端口,這里的端口是指 PHP FastCGI Server 開啟的端口,
        # 請與 php-cgi.exe 開啟的端口保持一致
        # 當 Nginx 收到 php 文件的請求時,會自動轉發到 PHP FastCGI Server
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;  
        # Nginx 默認是不支持 CGI PATH_INFO,SCRIPT_NAME 的值也不標準(糅合了 PATH_INFO)
        # 下面的兩行指令,可以從 SCRIPT_NAME 中剝離出 PATH_INFO
        fastcgi_split_path_info     ^(.+.php)(.*)$;
        fastcgi_param PATH_INFO     $fastcgi_path_info;
        # 包含另一個配置文件 fastcgi_params
        include        fastcgi_params;
      }
      

      其他可能的配置修改(可選)


      Nginx.conf代碼 

      # 默認開啟的進程數   

      worker_processes  1;   

      來源:網絡搜集//所屬分類:Windows教程/更新時間:2011-12-08
      相關Windows教程