1. 程式人生 > >windows+nginx+php執行環境部署

windows+nginx+php執行環境部署

第一部分:準備工作。(系統:Windows 8.1)

1.首先是下載軟體。

2.安裝mysql軟體。

3.解壓NGINX和PHP到你自己安裝位置。這裡我在C盤新建一個資料夾:wnmp(windows,ngnix,myspq,php),把下面的軟體安裝到這個資料夾裡面。

NGINX目錄C:\wnmp\nginx

PHP目錄C:\wnmp\php

第二部分:安裝nginx

1.開啟C:\nginx目錄,執行該資料夾下的nginx.exe

2.測試是否啟動nginx。開啟瀏覽器訪問http://localhost 或 http://127.0.0.1,看看是否出現“Welcome to nginx!”,出現的證明已經啟動成功了。沒有啟動的話,看看80埠有佔用沒。

注意:該網站的預設目錄在“C:\wnmp\nginx\htm”l下

第三部分:安裝php(這裡主要講nginx配置啟動php,以cgi執行php)

nginx配置檔案是conf資料夾裡的nginx.conf

1.修改大概第43~45行之間的

            location /{
            root   html;
            index  index.html index.htm;}

修改網站檔案的路徑,以及新增index.php的預設頁。

        location / {
            root   “D:/wnmp/nginx-1.5
.8/html”; index index.html index.htm inde.php; }
或者
location / {
            root   html;
            index  index.html index.htm inde.php;
        }

2.支援php的設定

修改大概在第63-71行的

複製程式碼
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #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  html;改為root  C:/wnmp/nginx-1.5.8/html;。再把“/scripts”改為“$document_root”,這裡的“$document_root”就是指前面“root”所指的站點路徑,這是改完後的:

修正原文的錯誤,應該去掉下列幾行的“#”以使其生效

複製程式碼
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            root           C:/wnmp/nginx-1.5.8/html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
           fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
複製程式碼

3.C:\wnmp\php\ext下修改php.ini-development檔案,將檔名修改為php.ini,開啟php配置檔案php.ini,儲存即可。

搜尋“extension_dir”,找到: e;xtension_dir = "ext" 先去前面的分號再改為 extension_dir = "C:\wnmp\php\ext"

搜尋“date.timezone”,找到:;date.timezone = 先去前面的分號再改為 date.timezone = Asia/Shanghai

搜尋“enable_dl”,找到:enable_dl = Off 改為 enable_dl = On

搜尋“cgi.force_redirect” ;cgi.force_redirect = 1 先去前面的分號再改為 cgi.force_redirect = 0

搜尋“fastcgi.impersonate”,找到: ;fastcgi.impersonate = 1 去掉前面的分號

搜尋“cgi.rfc2616_headers”,找到:;cgi.rfc2616_headers = 0 先去前面的分號再改為 cgi.rfc2616_headers = 1

搜尋“php_mysql”,找到:”extension=php_mysql.dll和extension=php_mysqli.dll  去掉前面的“;”extension=php_mysql.dll和extension=php_mysqli.dll   (支援MYSQL資料庫)

其他的配置請按照自己的需求更改。

第三部分試執行以及編輯執行配置檔案

C:\wnmp\php-5.5.7-nts-Win32-VC11-x86>php-cgi.exe -b 127.0.0.1:9000 -c "C:\wnmp\php-5.5.7-nts-Win32-VC11-x86\php.ini"
如果php.ini的全路徑不加上雙引號,會導致報"找不到檔案,bind/listen失敗"
或者php-cgi.exe -b 127.0.0.1:9000 -c php.ini

重新執行nginx.exe。

C:\wnmp\nginx-1.5.8\html下新建一個phpinfo.php,

<?php phpinfo(); ?>

訪問http://localhost/phpinfo.php

或者http://127.0.0.1/phpinfo.php

出現如下的資訊就說明php已經成功安裝:

下載一個RunHiddenConsole.exe,百度網盤

開啟php-cgi和nginx.exe,儲存為start.bat

複製程式碼
@echo off
echo Starting PHP FastCGI...
C:\wnmp\nginx\RunHiddenConsole.exe C:\wnmp\PHP\php-cgi.exe -b 127.0.0.1:9000-c D:\PHP\php.ini
echo Starting nginx...
C:\wnmp\nginx\RunHiddenConsole.exe D:/nginx/nginx.exe -p D:/nginx
複製程式碼

停止php-cgi和nginx.exe,儲存為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