windows下搭建nginx+php開發環境

windows下搭建nginx+php開發環境

1.前言

  windows下大多咱們都是下載使用集成環境,可是本地已經存在一個集成環境,但不適合項目的需求。所以準備再本身搭建一個環境。php

 

2.準備

  工具:html

    下載 nginx1.14.0(版本根據本身須要下載,本教程使用1.14.0版本)nginx

  

     下載 PHP7.2.11(版本根據本身須要下載,本教程使用7.2.11版本)web

     下載 RunHiddenConsole 連接:https://pan.baidu.com/s/1gHDrQBqDUFZH4uESNV9aXQ 密碼:oq9awindows

3.安裝

  (1)解壓安裝phpnginx瀏覽器

    解壓安裝在指定文件夾。
    工具

  (2)配置php測試

    進入php文件夾,找到php.ini-development配置文件並copy一份重命名爲php.ini網站

    雙擊打開php.ini配置文件ui

    搜索extension_dir找到配置項,把該配置項設置成php目錄下ext的絕對路徑(最好是絕對路徑,也能夠是相對路  徑"./ext"),如圖:

    

    ps:左邊的;號要刪除,該分號做用是註釋,即分號後面的內容不參與執行,僅僅是備註。

    

    搜索cgi.fix_pathinfo找到配置項,取消註釋並把該配置項設置成1

     

    cgi.fix_pathinfo是用來設置在cgi模式下PHP是否提供PATH_INFO信息。

    由於nginx默認不會設置PATH_INFO的值,因此須要經過上面的方法來提供。

   

    ps:暫時開啓這兩個就能夠執行了,其餘配置項根據本身需求開啓,不一一說明

 

  (3)配置nginx

    打開nginx文件夾,conf裏面的nginx.conf配置文件

    主要修改如下地方:

    

server {
        listen       81;         //端口號(默認80,因已存在一個集成環境形成衝突,改爲81),根據本身須要修改
        server_name  test.com;   //喜歡什麼寫什麼(記得在host文件上加上該域名)

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   E:\self\www;    //修改爲本身網站根目錄的絕對路徑(本身喜歡)
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        # 把這幾個前面的註釋#符號刪掉
     location ~ \.php$ { 

       #網站根目錄(跟上面那個同樣)

         root E:/self/www; 

        #php-cgi監聽端口號(默認9000,根據實際狀況本身修改)     

        fastcgi_pass 127.0.0.1:9001;   
        fastcgi_index index.php;

        #下面這裏要改看清楚本來是/script$fastcgi_script_name,改爲$document_root$fastcgi_script_name;  

        #$document_root其實就是上面的root,能夠直接改爲絕對路徑E:/self/www$fastcgi_script_name這樣子,你喜歡

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
        include fastcgi_params;
      }

  ps:若是你直接複製上面的請把 我寫的註釋刪掉,怕影響了代碼。如下是個人配置圖:

  

  (4)開啓nginx和php-cgi

    開啓nginx:打開cmd命令提示符輸入命令,start nginx。(本身配置全局變量)

         或者進入到nginx目錄下,輸入命令 nginx.exe,開啓nginx

          nginx.exe -s reload  重啓

          nginx.exe -s quit   關閉

    開啓php-cgi.exe

    E:\self\soft\php-7.2.11/php-cgi.exe -b 127.0.0.1:9001 -c E:\self\soft\php-7.2.11/php.ini 

    就是php目錄下的 php-cgi.exephp-ini文件,加上絕對路徑,端口號要跟nginx的對上!

    

    這樣子就是正常滴,別人爲它傻了,怎麼沒反應。

 

  (5)測試

     在你的網站根目錄下建立一個phpinfo.php文件,裏面編寫  

    <?php 
      phpinfo();

     而後保存。

     瀏覽器上輸入你的域名和端口號(端口號80的話不須要填寫,其餘的必定要在域名後加上),加上PHP文件就能訪問成功啦~

    

 

 4.批處理文件

  

  這個窗口是不能關的,一旦管理,php-cgi就會關閉,就不能解析php文件。

  是否是很麻煩不能最小化,咱們如今就來教你怎麼解決。

  爲了節省時間能夠用批處理來打開/關閉Nginx和php-cgi, 

  這裏用到RunHiddenConsole(用來隱藏CMD命令窗),網上一搜大把,本文開頭也給出了下載地址,下載後把RunHiddenConsole.exe和批處理文件放在同一級目錄就行啦,是不用雙擊打開安裝什麼滴,別辣麼傻,我傻就好了。

  編寫批處理文件(.bat就是批處理文件,有興趣學的能夠學些)

  啓動nginx和php-cgi批處理文件start.bat(文件名本身喜歡)

  start.bat

@echo off

set PHP_FCGI_MAX_REQUESTS = 1000

echo Starting PHP FastCGI...

rem 下面這裏的分別替換成你的php-cgi.exe和php.ini的路徑 ,後面的-b,-c等參數必須保留且注意先後空格

RunHiddenConsole E:\self\soft\php-7.2.11/php-cgi.exe -b 127.0.0.1:9001 -c E:\self\soft\php-7.2.11/php.ini 

echo Starting nginx...

rem 注意替換成你的nginx目錄

E:\self\soft\nginx-1.14.0/nginx.exe -p E:\self\soft\nginx-1.14.0/

cd D:/webServer/nginx-1.5.2/

pause

      關閉批處理文件 stop.bat  

@echo off
echo Stopping nginx...  
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit

  批處理文件雙擊就能運行。

 

       若是有人發現,端口號對上了,可是瀏覽器訪問php文件,只下載並無解析,爲何會這樣,明明百度了那麼多教程,配置怎麼看都沒有問題?

  其實很簡單,重啓電腦!是的,就是重啓電腦。重啓nginx沒有任何做用,別問我怎麼知道,我當初就搞了好久,沒想到真的是要重啓電腦。

相關文章
相關標籤/搜索