首頁 >後端開發 >php教程 >php+nginx環境配置

php+nginx環境配置

不言
不言原創
2018-04-04 09:36:2919742瀏覽

本篇文章的內容是PHP和nginx環境的配置,在這裡分享給大家,也給有需要的朋友一個參考

<br>

php+ nginx環境配置

<br>

<br>

1、首先需要準備的應用程式套件。

  nginx:nginx/Windows-1.0.4

  php:php-5.2.16-nts-Win32-VC6-x86.zip (nginx下php是以FastCGI的方式運行,所以我們下載非線程安全性也就是nts的php套件)

  (還會用到)RunHiddenConsole:RunHiddenConsole.zip

##2、安裝與設定。

 1)php的安裝與設定。

  直接解壓縮下載好的php包,到D碟PHP目錄(D:\PHP),這裡把解壓縮出來的資料夾重新命名成php7。進入資料夾修改php.ini-recommended檔案為php.ini,並用寫字本打開來。找到

php設定檔php.ini,儲存即可。

<br>

搜尋“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_my.dll和extension=php_mysqlisql. dll   (支援MYSQL資料庫)

 

其他的設定請依照自己的需求變更。 php_mysql意思是:

#

<br>

<br>

<br>

;extension=php_mysql.dll;extension #=php_mysqli.dll

前面指定了php的ext路徑後,只要把需要的擴充包前面所對應的「;」去掉,就可以了。這裡打開php_mysql.dll和php_mysqli.dll,讓php支援mysql。當然不要忘掉很重要的一步就是,把php5目錄下的libmysql.dll檔複製到C:\Windows目錄下,也可以在系統變數裡面指定路徑,當然這裡我選擇了比較方便的方法^_^。

到這裡,php已經可以支援mysql了。

  接下來我們來設定php,讓php能夠與nginx結合。找到

<br>

#
<br>

<br>

<br>

#;cgi.fix_pathinfo

=1#我們去掉這裡的分號。

cgi.fix_pathinfo#=

1

這一步<br>

非常重要

,這裡是php的CGI的設定。  2)nginx的安裝與設定。   把下載好的nginx-1.0.4的套件同樣解壓縮到D碟的PHP目錄下,並重新命名為nginx。接下來,我們來設定nginx,讓它能夠和php協同工作。進入nginx的conf目錄,開啟nginx的設定檔nginx.conf,找到

location /

{      root html;      #這裡是網站的根目錄     index  index.html index.htm;}#將root

  ###html;#########將###root###  ###html;#########2###### :/PHP/hostdoc(即為自己以後放程式碼的檔案);################再往下,找到########

php+nginx環境配置

<br>

# 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_##    fastcgi_param  SCRIPT_##    fastcgi_param  SCRIPT_ ##/

scripts

$fastcgi_script_name;#    include        fastcgi_params;

#}php+nginx環境配置

先將前面的「#」去掉,同樣將root  html;改為root  

#D :/PHP/hostdoc

;<br>。再把標記為紅色的/scripts改為“$document_root”,這裡的“$document_root”就是指前面“root”所指的站點路徑,這是改完後的:

php+nginx環境配置

#

<br>
## pass the PHP scripts to FastCGI server listening #on 127.0.0.1:

9000#location ~ ##\.php$ {      root           D:

#/wnmp/www;

     fastcgi_pass   127.0.0.1:#9000

#;

     fastcgi_index  index.php

;#######

     fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name## #;}

#儲存設定文件,就可以了。 php+nginx環境配置  

3、nginx+php的環境就初步配置好了,來跑跑看。我們可以輸入指令 

來啟動php,手動啟動nginx,當然也可以利用腳本來實現。

<br>

<br>

<br>4、 RunHiddenConsole.exe的作用是執行完命令列腳本後可以自動關閉腳本,而從腳本開啟的進程不會被關閉

  首先把下載好的RunHiddenConsole.zip套件解壓縮到nginx目錄內,RunHiddenConsole.exe的作用是執行完命令列腳本後可以自動關閉腳本,而從腳本中開啟的進程不被關閉。然後來建立腳本,命名為“start_nginx.bat”,我們在Notepad++裡來編輯它

<br>##

<br>

@echophp+nginx環境配置

off

#REM## Windows 下無效

REM set PHP_FCGI_CHILDREN=5#REM 每個行程處理的最大請求數,或設定為Windows 環境變數set PHP_FCGI_MAX_REQUESTS

=set PHP_FCGI_MAX_REQUESTS=##1000

echo Starting PHP FastCGI...

RunHiddenConsole D:/wnmp/php5#/php-cgi. exe -b 127.0.0.1:9000 -c 

D:/#wnmp/#php5/php.ini 

#echo## Starting nginx #...

RunHiddenConsole D:/wnmp/nginx /nginx.exe -p 

D:/wnmp/nginx

php+nginx環境配置

再另外建立一個名為stop_nginx .bat的腳本用來關閉nginx

<br>

php+nginx環境配置#

<br>

@echo off

echo# Stopping nginx...  

taskkill /F /#IM nginx#.exe > nul

echo Stopping PHP FastCGI...

#taskkill /#F #taskkill/#F /IM php-cgi

###.######exe ######>###### nul######

exit

php+nginx環境配置

# 做好後,是這樣的

這樣,我們的服務腳本也都創建完了。雙擊start_nginx.bat看看進程管理器是不是有兩個nginx.exe的進程和一個php-cgi.exe的進程呢?

這樣nginx服務就啟動了,而且php也以fastCGI的方式運作了。

到網站目錄下,新一個phpinfo.php的文件,在裡面編輯

<br>

#
<br>

<br>

## php    phpinfo#();?>

儲存後,開啟瀏覽器輸入“http://localhost/phpinfo.php”,如果看到

就說明,nginx+php的環境已經配置好了,呵呵~

<br>

以上是php+nginx環境配置的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn