搭建nginx1.8.0+php5.6+symfony2(windows下)

1、準備工具:
php

  1. php5.6        下載網址:http://nginx.org/en/download.htmlhtml

  2. nginx           下載網址:http://windows.php.net/download/mysql

  3. symfony2    用php命令下載(如下講講到)nginx

這裏下載的是nginx1.8.0,php5.6.12,symfony2.7,而後所有解壓放在c:下web

2、安裝nginxsql

打開doc窗口,用命令來到nginx1.8.0的根目錄下,你會發現有一個nginx.exe的文件,在doc窗口輸入windows

start nginx.exe啓動nginx.exe。啓動成功後你會發現任務管理器有一個nginx.exe的進程。瀏覽器

瀏覽器地址輸入http://localhost,你會看到nginx歡迎頁面,nginx搞定!!!!服務器

ps:nginx經常使用命令app

start nginx.exe

nginx.exe -s reload

nginx.exe -s stop

3、安裝php

個人php目錄在c:\php5.6.12

PHP:安裝及配置

PHP配置:在DedeCMS目錄下新建文件夾PHP5,壓縮包解壓至此目錄 D:/wwwroot/PHP5,把php.ini-production重命名爲php.ini,用編輯器打開此文件(最好不要用記事本打開),此文件爲PHP配置文件。

查找定位至:; extension_dir = "./" ,將前面的分號去掉並修改成:extension_dir = "C:/php5.6.12/ext"

查找定位至:;extension=php_gd2.dll,將前面的分號去掉爲:extension=php_gd2.dll

查找定位至:;extension=php_mbstring.dll,將前面的分號去掉爲:extension=php_mbstring.dll

查找定位至:;extension=php_mysql.dll,將前面的分號去掉爲:extension=php_mysql.dll

查找定位至:;extension=php_mysqli.dll,將前面的分號去掉爲:extension=php_mysqli.dll

查找定位至:;extension=php_pdo_mysql.dll,將前面的分號去掉爲:extension=php_pdo_mysql.dll

查找定位至:;cgi.force_redirect = 1,將前面的分號去掉爲:cgi.force_redirect = 1

查找定位至:;cgi.fix_pathinfo=1,將前面的分號去掉爲:cgi.fix_pathinfo=1

查找定位至:;cgi.rfc2616_headers = 0,將前面的分號去掉並改成:cgi.rfc2616_headers = 1

配置文集修改後,咱們就能夠啓動php了

doc命令進入php安裝的根目錄,輸入php-cgi -b 127.0.0.1:9000回車。啓動成功後,不要關閉doc窗口

我在服務器上配置時會出現這種錯誤,

能夠參考:http://jingyan.baidu.com/article/4f7d57129fa86e1a201927de.html來解決

啓動成功後的界面是:

4、用php下載symfony

先把php目錄加入環境變量中去。

1.打開doc窗口,輸入cd \來到c盤根目錄下,運行命令

2.php -r "readfile('http://symfony.com/installer');" > symfony.phar

下載了 symfony.pharc盤根目錄下。

3.而後用php symfony.phar new symfony新建了一個名爲symfony的項目

此時,c盤已經有一個symfony項目了。

5、在nginx.conf中添加對php的支持

nginx.conf在nginx根目錄下的conf文件夾中,打開,將

        #location ~ \.php$ {

        #    root           html;

        #    fastcgi_pass   127.0.0.1:9000;

        #    fastcgi_index  index.php;

        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

        #    include        fastcgi_params;

        #}

中的註釋所有打開,而且配置爲:

。其中root;是項目所在目錄,咱們把項目目錄設置在c:\symfony2.7下,,再配置如圖:

這樣,nginx便支持php的訪問。咱們在項目目錄下新建index.php(即c:\symfony2.7目錄下)

<?php  echo "hello php";?>

而後重啓nginx,刷新瀏覽器便看到屏幕輸出hello php.

ps:每次修改nginx的配置,都得重啓如下nginx!!!

6、nginx整合symfony2.7

咱們的項目在c:/symfony2.7,symfony2.7便是整個symfony項目。項目路徑必須在nginx.conf的配置中改到c:\symfont2.7\web下。

 #location ~ \.php$ {

         #    root          C:/symfony2.7/web;

         #   fastcgi_pass   127.0.0.1:9000;

         #   fastcgi_index  index.php;

         #  fastcgi_param  SCRIPT_FILENAME  C:/symfony2.7$fastcgi_script_name;

         #   include        fastcgi_params;

        #}

替換成

location ~ \.php {

             fastcgi_pass   127.0.0.1:9000;

             fastcgi_index  app.php;

             include        fastcgi_pathinfo.conf;


             set $real_script_name $fastcgi_script_name;

             set $path_info "";

             if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {

                 set $real_script_name $1;

                 set $path_info $2;

             }


             fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;

             fastcgi_param SCRIPT_NAME     $real_script_name;

             fastcgi_param PATH_INFO       $path_info;

         }

新建文件fastcgi_pathinfo.conf而且寫入如下內容:

#fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

fastcgi_param  QUERY_STRING       $query_string;

fastcgi_param  REQUEST_METHOD     $request_method;

fastcgi_param  CONTENT_TYPE       $content_type;

fastcgi_param  CONTENT_LENGTH     $content_length;


#fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;

fastcgi_param  REQUEST_URI        $request_uri;

fastcgi_param  DOCUMENT_URI       $document_uri;

fastcgi_param  DOCUMENT_ROOT      $document_root;

fastcgi_param  SERVER_PROTOCOL    $server_protocol;

fastcgi_param  HTTPS              $https if_not_empty;


fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;

fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;


fastcgi_param  REMOTE_ADDR        $remote_addr;

fastcgi_param  REMOTE_PORT        $remote_port;

fastcgi_param  SERVER_ADDR        $server_addr;

fastcgi_param  SERVER_PORT        $server_port;

fastcgi_param  SERVER_NAME        $server_name;


# PHP only, required if PHP was built with --enable-force-cgi-redirect

fastcgi_param  REDIRECT_STATUS    200;

保存,放在conf目錄下。重啓nginx,訪問http://localhost/app.php便可看到symfony歡迎頁面,整合成功!!!!

相關文章
相關標籤/搜索