windows下搭建nginx+php+laravel開發環境(轉)

1.前言

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

 

2.準備

  工具:html

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

  

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

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

3.安裝

  (1)解壓安裝php和nginxwindows

    解壓安裝在指定文件夾。
    瀏覽器

  (2)配置php工具

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

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

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

    

               也可直接去除前面的分號     如:extension_dir = "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       80;
        server_name  dev.com;  //訪問的域名
        root F:\laravel\public; //laravel的位置
        

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            index index.html index.htm index.php;
            try_files $uri $uri/ /index.php?$query_string;
        }

        #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$ {

            fastcgi_pass   127.0.0.1:9000;  //php啓動的配置
            fastcgi_index  index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            
        }

(4)開啓nginx和php-cgi

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

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

          nginx.exe -s reload  重啓

          nginx.exe -s quit   關閉

            若是出現異常請查看logs文件夾下的日誌解決

    開啓php-cgi.exe

              在php的文件夾下執行

    php-cgi.exe -b 127.0.0.1:9001 -c  php.ini 

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

    

 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沒有任何做用,別問我怎麼知道,我當初就搞了好久,沒想到真的是要重啓電腦

相關文章
相關標籤/搜索