最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

windows平臺中配置nginx+php環(huán)境

 更新時間:2015年12月06日 16:51:06   投稿:hebedich  
相對于linux來說,windows配置web環(huán)境不管是一鍵安裝包還是獨立配置簡單多了,這次是講以NGINX作為web的本地的測試環(huán)境。

剛看到nginx這個詞,我很好奇它的讀法(engine x),我的直譯是"引擎x",一般引"擎代"表了性能,而"x"大多出現是表示"xtras(額外的效果)",那么整個詞的意思就是類似"極致效果","額外性能"。當然這里不是要來嘮嗑,以上是題外話。

  nginx相較于我們熟悉的apache,IIS的優(yōu)勢,就我淺入淺出的了解,在于"反向代理"和"負載均衡"。因此考慮到能夠為Web服務器節(jié)省資源,它可以代替apache來提供Web服務。那么上正題了,nginx有這么多優(yōu)勢,那在windows下如何來配置nginx+php環(huán)境?網上看到還是那么多轉載來轉載去的文章。這里就我配置的過程,來介紹一下:

1、首先需要準備的應用程序包。

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

2、安裝與配置。

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

extension_dir = "./ext"

更改為

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

往下看,再找到

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

實際中,可能還要開啟

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路徑后,只要把需要的擴展包前面所對應的“;”去掉,就可以了。這里打開php_mysql.dll和php_mysqli.dll,讓php支持mysql。

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

到這里,php已經可以支持mysql了。

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

;cgi.fix_pathinfo=1

我們去掉這里的分號:

cgi.fix_pathinfo=1

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

2)nginx的安裝與配置

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

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

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

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

這里需要注意,路徑分隔符請使用/而不要使用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;。再把標記為紅色的/scripts改為$document_root,這里的$document_root就是指前面root所指的站點路徑,這是改完后的:

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

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

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

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

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

來啟動php,并手動啟動nginx(可能不可行)。當然也可以利用腳本來實現。

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

@echo off
REM Windows 下無效
REM set PHP_FCGI_CHILDREN=5

REM 每個進程處理的最大請求數,或設置為 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)建一個名為stop_nginx.bat的腳本用來關閉nginx:

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

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

這樣nginx服務就啟動了,而且php也以fastCGI的方式運行了。
到站點目錄下,新建一個phpinfo.php的文件,在里面編輯

<?php
phpinfo();
?>

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

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

Nginx 403 forbidden的解決辦法

常見的,引起nginx 403 forbidden有二種原因,一是缺少索引文件,二權限問題。

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

代碼如下:

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

如果在/var/www下面沒有index.php,index.html的時候,直接訪問域名,找不到文件,會報403 forbidden。
例如:你訪問www.test.com而這個域名,對應的root指定的索引文件不存在。

權限問題

對于PHP而言,如果nginx用戶沒有web目錄的權限,則會導致該錯誤。
解決辦法:修改web目錄的讀寫權限,或者是把nginx的啟動用戶改成目錄的所屬用戶,重起一下就能解決。 如:
代碼如下(Linux下):

chown -R nginx_user:nginx_user /htdocs

相關文章

  • php垃圾代碼優(yōu)化操作代碼

    php垃圾代碼優(yōu)化操作代碼

    php 代碼優(yōu)化提高MySQl的運行效率。遇到同類問題的朋友可以參考下。
    2010-08-08
  • PHP之變量、常量學習筆記

    PHP之變量、常量學習筆記

    親密接觸PHP之變量、常量學習筆記(閱讀筆記自PHP手冊) PHP 中一個美元符號($)后面跟上一個變量名稱,即表示一個變量。變量的名稱是對大小寫敏感的。其中變量名允許數字或下劃線打頭。
    2008-03-03
  • PHP sprintf() 函數的應用(定義和用法)

    PHP sprintf() 函數的應用(定義和用法)

    sprintf定義和用法,sprintf() 函數用于把格式化的字符串寫入一個變量中。
    2012-06-06
  • 一些 PHP 管理系統(tǒng)程序中的后門

    一些 PHP 管理系統(tǒng)程序中的后門

    一些php網站管理程序的,一些后門,其實官方也沒有惡意,主要是大家為了自己的安全。
    2009-08-08
  • PHP獲取當前所在目錄位置的方法

    PHP獲取當前所在目錄位置的方法

    這篇文章主要介紹了PHP獲取當前所在目錄位置的方法,涉及getcwd(0函數的用法以及相關的PHP目錄操作函數的使用技巧,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-11-11
  • PHP7創(chuàng)建銷毀session的實例方法

    PHP7創(chuàng)建銷毀session的實例方法

    在本篇文章里小編給大家整理的是關于PHP7創(chuàng)建銷毀session的實例方法,有需要的朋友們可以參考下。
    2020-02-02
  • PHP多線程類及用法實例

    PHP多線程類及用法實例

    這篇文章主要介紹了PHP多線程類及用法,實例分析了多線程類的具體實現方法及應用技巧,并結合下載遠程圖片的實例予以深入分析,需要的朋友可以參考下
    2014-12-12
  • 從0構建Oauth2Server服務?之Token?編解碼

    從0構建Oauth2Server服務?之Token?編解碼

    這篇文章主要為大家介紹了從0構建Oauth2Server服務之Token編解碼詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • php關鍵字僅替換一次的實現函數

    php關鍵字僅替換一次的實現函數

    這篇文章主要介紹了php實現每個關鍵字僅需要替換一次,有時一個項目里面涉及到批量替換關鍵字的問題,本文針對控制替換次數進行研究,感興趣的小伙伴們可以參考一下
    2015-10-10
  • php HTML無刷新提交表單

    php HTML無刷新提交表單

    這篇文章主要介紹了php HTML無刷新提交表單,本文介紹了兩種無刷新提交表單的方法,感興趣的小伙伴們可以參考一下
    2016-04-04

最新評論

十堰市| 嘉兴市| 宁蒗| 台北县| 鹿泉市| 平定县| 铁岭县| 枣强县| 云龙县| 宜宾县| 桐柏县| 武穴市| 怀化市| 东丰县| 治多县| 淮阳县| 肃北| 凤凰县| 赤峰市| 华池县| 蓬莱市| 莫力| 南溪县| 南皮县| 武鸣县| 康保县| 沈丘县| 富蕴县| 大悟县| 礼泉县| 漠河县| 宜兰县| 大安市| 赣州市| 云安县| 迭部县| 乡宁县| 长宁区| 博爱县| 东平县| 铜梁县|