如何在windows系統(tǒng)中搭建一個(gè)nginx+php環(huán)境-創(chuàng)新互聯(lián)

如何在windows系統(tǒng)中搭建一個(gè)nginx+php環(huán)境?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

創(chuàng)新互聯(lián)服務(wù)緊隨時(shí)代發(fā)展步伐,進(jìn)行技術(shù)革新和技術(shù)進(jìn)步,經(jīng)過(guò)十余年的發(fā)展和積累,已經(jīng)匯集了一批資深網(wǎng)站策劃師、設(shè)計(jì)師、專(zhuān)業(yè)的網(wǎng)站實(shí)施團(tuán)隊(duì)以及高素質(zhì)售后服務(wù)人員,并且完全形成了一套成熟的業(yè)務(wù)流程,能夠完全依照客戶(hù)要求對(duì)網(wǎng)站進(jìn)行網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、建設(shè)、維護(hù)、更新和改版,實(shí)現(xiàn)客戶(hù)網(wǎng)站對(duì)外宣傳展示的首要目的,并為客戶(hù)企業(yè)品牌互聯(lián)網(wǎng)化提供全面的解決方案。

php有什么用

php是一個(gè)嵌套的縮寫(xiě)名稱(chēng),是英文超級(jí)文本預(yù)處理語(yǔ)言,它的語(yǔ)法混合了C、Java、Perl以及php自創(chuàng)新的語(yǔ)法,主要用來(lái)做網(wǎng)站開(kāi)發(fā),許多小型網(wǎng)站都用php開(kāi)發(fā),因?yàn)閜hp是開(kāi)源的,從而使得php經(jīng)久不衰。

1、首先需要準(zhǔn)備的應(yīng)用程序包。


nginx:nginx/Windows-1.0.4
php:php-5.2.16-nts-Win32-VC6-x86.zip
RunHiddenConsole:RunHiddenConsole.zip
nginx下php是以FastCGI的方式運(yùn)行,所以我們下載非線(xiàn)程安全也就是nts的php包。

2、安裝與配置。


1)php的安裝與配置。
直接解壓下載好的php包,到D盤(pán)wnmp目錄(D:\wnmp),這里把解壓出來(lái)的文件夾重命名成php5。進(jìn)入文件夾修改php.ini-recommended文件為php.ini,并用Editplus或者Notepad++打開(kāi)來(lái)。找到

extension_dir = "./ext"

更改為

extension_dir = "D:/wnmp/php5/ext"

往下看,再找到

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

實(shí)際中,可能還要開(kāi)啟

extension=php_bz2.dll
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mcrypt.dll
extension=php_mhash.dll
extension=php_msql.dll
extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_pdo.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_snmp.dll
extension=php_sockets.dll
extension=php_sqlite.dll
extension=php_xsl.dll
extension=php_zip.dll

前面指定了php的ext路徑后,只要把需要的擴(kuò)展包前面所對(duì)應(yīng)的“;”去掉,就可以了。這里打開(kāi)php_mysql.dll和php_mysqli.dll,讓php支持mysql。

當(dāng)然不要忘掉很重要的一步就是,把php5目錄下的libmysql.dll文件復(fù)制到C:\Windows目錄下,也可以在系統(tǒng)變量里面指定路徑,當(dāng)然這里我選擇了更為方便的方法^_^。(測(cè)試發(fā)現(xiàn)不復(fù)制也是可以的)

到這里,php已經(jīng)可以支持mysql了。

接下來(lái)我們來(lái)配置php,讓php能夠與nginx結(jié)合。找到

;cgi.fix_pathinfo=1

我們?nèi)サ暨@里的分號(hào):

cgi.fix_pathinfo=1

這一步非常重要,這里是php的CGI的設(shè)置。

2)nginx的安裝與配置

把下載好的nginx-1.0.4的包同樣解壓到D盤(pán)的wnmp目錄下,并重命名為nginx。接下來(lái),我們來(lái)配置nginx,讓它能夠和php協(xié)同工作。進(jìn)入nginx的conf目錄,打開(kāi)nginx的配置文件nginx.conf,找到

location / {
  root html;   #這里是站點(diǎn)的根目錄 index index.html
  index.htm;
}

將root html;改為root D:/wnmp/www;加上index.php,即:

location / {
  root D:/wnmp/www;  #這里是站點(diǎn)的根目錄 
  index index.php index.html index.htm;
}

這里需要注意,路徑分隔符請(qǐng)使用/而不要使用Windows中的\以防歧義。
再往下,找到

# 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 D:/wnmp/www;。再把標(biāo)記為紅色的/scripts改為$document_root,這里的$document_root就是指前面root所指的站點(diǎn)路徑,這是改完后的:

# 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; 
  include fastcgi_params;
}

設(shè)定error.log的存放目錄,將#error_log logs/error.log;的#去處,默認(rèn)error.log是存放在Nginx安裝目錄中l(wèi)ogs目錄下。

保存配置文件,就可以了。

nginx+php的環(huán)境就初步配置好了,來(lái)跑跑看。我們可以輸入命令:

php-cgi.exe -b 127.0.0.1:9000 -c D:/wnmp/www/php/php.ini

來(lái)啟動(dòng)php,并手動(dòng)啟動(dòng)nginx(可能不可行)。當(dāng)然也可以利用腳本來(lái)實(shí)現(xiàn)。

首先把下載好的RunHiddenConsole.zip包解壓到nginx目錄內(nèi),RunHiddenConsole.exe的作用是在執(zhí)行完命令行腳本后可以自動(dòng)關(guān)閉腳本,而從腳本中開(kāi)啟的進(jìn)程不被關(guān)閉。然后來(lái)創(chuàng)建腳本,命名為start_nginx.bat,我們?cè)贜otepad++里來(lái)編輯它:

@echo off
REM Windows 下無(wú)效
REM set PHP_FCGI_CHILDREN=5

REM 每個(gè)進(jìn)程處理的較大請(qǐng)求數(shù),或設(shè)置為 Windows 環(huán)境變量
set PHP_FCGI_MAX_REQUESTS=1000
 
echo Starting PHP FastCGI...
RunHiddenConsole D:/phpsetup/php-5.4.45-nts-Win32-VC9-x86/php-cgi.exe -b 127.0.0.1:9000 -c D:/phpsetup/php-5.4.45-nts-Win32-VC9-x86/php.ini
 
echo Starting nginx...
RunHiddenConsole D:/phpsetup/nginx-1.6.0/nginx.exe -p D:/phpsetup/nginx-1.6.0

再另外創(chuàng)建一個(gè)名為stop_nginx.bat的腳本用來(lái)關(guān)閉nginx:

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

這樣,我們的服務(wù)腳本也都創(chuàng)建完畢了。雙擊start_nginx.bat,再看看進(jìn)程管理器是不是有兩個(gè)nginx.exe的進(jìn)程和一個(gè)php-cgi.exe的進(jìn)程呢?

這樣nginx服務(wù)就啟動(dòng)了,而且php也以fastCGI的方式運(yùn)行了。
到站點(diǎn)目錄下,新建一個(gè)phpinfo.php的文件,在里面編輯

<?php
phpinfo();
?>

保存后,打開(kāi)瀏覽器輸入http://localhost/phpinfo.php,如果看到

就說(shuō)明,nginx+php的環(huán)境已經(jīng)配置好了,呵呵~

Nginx 403 forbidden的解決辦法


常見(jiàn)的,引起nginx 403 forbidden有二種原因,一是缺少索引文件,二權(quán)限問(wèn)題。

1、缺少index.html或者index.php文件

代碼如下:

server { 
 listen 80; 
 server_name localhost; 
 index index.php index.html; 
 root /var/www;
}

如果在/var/www下面沒(méi)有index.php,index.html的時(shí)候,直接訪(fǎng)問(wèn)域名,找不到文件,會(huì)報(bào)403 forbidden。
例如:你訪(fǎng)問(wèn)www.test.com而這個(gè)域名,對(duì)應(yīng)的root指定的索引文件不存在。

權(quán)限問(wèn)題


對(duì)于PHP而言,如果nginx用戶(hù)沒(méi)有web目錄的權(quán)限,則會(huì)導(dǎo)致該錯(cuò)誤。
解決辦法:修改web目錄的讀寫(xiě)權(quán)限,或者是把nginx的啟動(dòng)用戶(hù)改成目錄的所屬用戶(hù),重起一下就能解決。 如:
代碼如下(Linux下):

chown -R nginx_user:nginx_user /htdocs

看完上述內(nèi)容,你們掌握如何在windows系統(tǒng)中搭建一個(gè)nginx+php環(huán)境的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)站欄目:如何在windows系統(tǒng)中搭建一個(gè)nginx+php環(huán)境-創(chuàng)新互聯(lián)
URL分享:http://bm7419.com/article28/iphjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、標(biāo)簽優(yōu)化、商城網(wǎng)站、域名注冊(cè)、網(wǎng)站導(dǎo)航微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作