IIS+FastCGI+PHP5.3+MySQL5.1+Gzip配置圖文詳細(xì)教程
說(shuō)明:
本帖是我經(jīng)過(guò)一天一夜完成的,不同于一般網(wǎng)上文章,除詳細(xì)的將整個(gè)配置過(guò)程和 測(cè)試過(guò)程都詳細(xì)截圖說(shuō)明外,尤其在FastCGI方面采用微軟的“web平臺(tái)安裝程序”來(lái)配置,網(wǎng)上相關(guān)內(nèi)容很少,對(duì)gzip的設(shè)置也很詳細(xì),保證按圖操 作即可獨(dú)立完成。另外,還有詳細(xì)的測(cè)試gzip壓縮率的方法和比較。
文中對(duì)于理論幾乎沒(méi)有闡述,只是對(duì)配置過(guò)程進(jìn)行了最詳細(xì)的介紹,這樣 使新手即使不太明白,照本文也可以配置出一樣的環(huán)境來(lái),本文章的錯(cuò)誤及疏漏之處,還請(qǐng)大家指出來(lái),大家在配置中有何問(wèn)題,我們一起來(lái)探討解決。
本 帖旨在幫助新手快速配置出IIS + FastCGI + PHP5.3 + MySQL5.1 + Gzip環(huán)境,高手可以飄過(guò),本文里面圖片較多,每步操作均有詳細(xì)的圖片說(shuō)明,只要照做,均可一次配置成功。
如果您閱讀本文后有所收獲, 本人很高興。
今天零晨的世界杯,不出意料的,西班牙奪冠
下面是正文,圖片較 多,所以全部圖片均存放于我自己的網(wǎng)站上,用鏈接引用過(guò)來(lái),上面有些許水印,方便大家轉(zhuǎn)載,也希望大家見(jiàn)諒。
============================================
IIS+FastCGI+PHP5.3+MySQL5.1+Gzip 詳細(xì)配置圖文教程
本文所用的軟件名稱及下載地址:
PHP5.3.2:php- 5.3.2-nts-Win32-VC9-x86.zip
地址:
http://windows.php.net/downloads/releases/php-5.3.2-nts-Win32-VC9-x86.zip
MySQL:mysql-essential-5.1.48-win32.msi
地址:
http://windows.php.net/downloads/releases/php-5.3.2-nts-Win32-VC9-x86.zip
FastCGI:這個(gè)有兩種配置方法,正文中詳細(xì)介紹
phpMyAdmin: 本文用的是3.3.4版
Zend Optimizer:目前的Zend Optimizer還不支持PHP5.3.2 ,等出新版后我們?cè)傺b。
前 言:PHP5.3的版本選擇
現(xiàn)在的PHP5.3 For Windows一共給了四個(gè)版本:VC9 x86 Non Thread Safe、VC9 x86 Thread Safe、VC6 x86 Non Thread Safe、VC6 x86 Thread Safe,參考PHP官網(wǎng)提供下載的地方左邊的英文來(lái)看看這幾個(gè)版本有什么區(qū)別。
一、如何選擇PHP5.3的VC9版本和 VC6版本
VC6版本是使用Visual Studio 6編譯器編譯的,如果你的PHP是用Apache來(lái)架設(shè)的,那你就選擇VC6版本。
VC9 版本是使用Visual Studio 2008編譯器編譯的,如果你的PHP是用IIS來(lái)架設(shè)的,那你就選擇VC9版本。
二、如何選擇 PHP5.3的Thread Safe和Non Thread Safe版本
先從字面意思上理解,Thread Safe是線程安全,執(zhí)行時(shí)會(huì)進(jìn)行線程(Thread)安全檢查,以防止有新要求就啟動(dòng)新線程的CGI執(zhí)行方式而耗盡系統(tǒng)資源。Non Thread Safe是非線程安全,在執(zhí)行時(shí)不進(jìn)行線程(Thread)安全檢查。
再來(lái)看PHP的兩種執(zhí)行方式:ISAPI和FastCGI。
ISAPI 執(zhí)行方式是以DLL動(dòng)態(tài)庫(kù)的形式使用,可以在被用戶請(qǐng)求后執(zhí)行,在處理完一個(gè)用戶請(qǐng)求后不會(huì)馬上消失,所以需要進(jìn)行線 程安全檢查,這樣來(lái)提高程序的執(zhí)行效率,所以如果是以ISAPI來(lái)執(zhí)行PHP,建議選擇Thread Safe版本;
而FastCGI執(zhí)行方式是 以單一線程來(lái)執(zhí)行操作,所以不需要進(jìn)行線程的安全檢查,除去線程安全檢查的防護(hù)反而可以提高執(zhí)行效 率,所以,如果是以FastCGI來(lái)執(zhí)行PHP,建議選擇Non Thread Safe版本。
我 們使用IIS+FastCGI方式配置服務(wù)器環(huán)境,所以使用Non Thread Safe版本。
了解了如何選擇PHP版 本,下面開(kāi)始我們的IIS+PHP5.3+MySQL5.1+Gzip的配置過(guò)程
第一步:手工配置PHP5.3
下載目前為 止最新版的PHP5.3.2
因?yàn)槭止づ渲酶`活且更能了解細(xì)節(jié),所以我們介紹手工配置PHP,所以選擇下載zip文件:php- 5.3.2-nts-Win32-VC9-x86.zip。
1、 解壓php-5.3.2-nts-Win32-VC9-x86.zip至安裝目錄,這里是C:\
2、打開(kāi)php-5.3.2- nts-Win32-VC9-x86,建立php.ini文件
復(fù)制一個(gè)新的php.ini-development文件,并將文件名改為 phi.ini。
如下圖
3、打開(kāi)php.ini文件,修 改extension_dir的值
修改data.timezone 的值
選擇啟用模塊:將用到的模塊前 的;去掉,注意啟用php_exif.dll時(shí),必需將其放在mbstring后面,即將php_exif.dll剪切到 php_mbstring.dll后面。
配置FastCGI模式時(shí),將 cgi.force_redirect設(shè)置為0,將cgi.rfc2616_headers和fastcgi.impersonate設(shè)置為1。
稍 候我們會(huì)使用iProber探針來(lái)檢測(cè)php環(huán)境,所以這里必須開(kāi)啟short_open_tag = On,否則,會(huì)出現(xiàn)“iProber.php on line 910”錯(cuò)誤。
至此,php部分配置完畢。下面 我們來(lái)在IIS里添加對(duì)php的支持,當(dāng)然,我們采用的FastCGI方式。
第二步:配置IIS的FastCGI模塊
為 IIS增加FastCGI模塊有兩種方式,一種是直接下載FastCGI Extension文件,另一種是使用微軟的“web平臺(tái)安裝程序”,在這里我們介紹后者。
第一種方式中FastCGI Extension 文件的名稱和下載地址為:
文件名:FastCGI Extension 1.5 for IIS 6.0 and IIS 5.1 - RC (x86)
地址:http://www.iis.net/downloads/default.aspx?tabid=34&i=1877&g=6
該安裝程序需要.net 2.0支持,請(qǐng)確認(rèn)已經(jīng)安裝.net Framework2.0。
下面我們來(lái)介紹使用微軟的“web平臺(tái)安裝程序”來(lái)配置FastCGI。
1、 FastCGI第一步:打開(kāi)微軟的“web平臺(tái)安裝程序”,網(wǎng)址是:
http://www.microsoft.com/web/gallery/install.aspx?appid=fastcgiiis6
打開(kāi)該網(wǎng)址單擊下面紅框內(nèi)的按鈕,進(jìn)入下一步。
在彈出的對(duì)話框里,單擊運(yùn)行。
彈出安全警告對(duì)話框,再次單擊運(yùn)行。
接下來(lái)是下載web安裝程序?qū)υ捒?/P>
下載完安裝程序后是加載web平臺(tái)
加載完后,彈出FastCGI安裝程序?qū)υ捒?,單擊安裝繼續(xù)。
接下來(lái)是同意條款,單擊我接受
正式進(jìn)入安裝,由于文件較小,安裝過(guò)程非常迅速。
稍候即完成安裝!
最后,單擊退出并關(guān)閉IE
2、 下面在IIS服務(wù)里面進(jìn)行配置,在IIS里右擊“網(wǎng)站”節(jié)點(diǎn),然后單擊屬性,彈出屬性對(duì)話框。如圖
單 擊“主目錄”選項(xiàng)卡,然后單擊“配置”按鈕
單 擊添加,添加一個(gè)新的ISAPI項(xiàng)
在 C:\window\system32\inetsrv目錄下,選中fcgiext.dll
注意,這里別忘了添加.php擴(kuò)展名
在C:\windows\system32\inetsrv文件夾中,找到fcgiext.ini文件,并打開(kāi)
在 fcgiext.ini文件底部添加如下配置信息:
[Types]
php = PHP
[PHP]
ExePath=C:\php-5.3.2-nts-Win32-VC9-x86\php-cgi.exe
至 此,F(xiàn)astCGI配置完成,下面我們來(lái)測(cè)試下是否配置正確,將iProber探針程序復(fù)制到web目錄
在 瀏覽器輸入:http://127.0.0.1/i/iProber.php ,輸出如下圖:
我 們看到以下信息
PHP運(yùn)行方式 CGI-FCGI
PHP版本 5.3.2
說(shuō) 明IIS+PHP的FastCGI方式配置成功!
注意,如果出現(xiàn)以下錯(cuò)誤信息
============================
Error Details:
Error Number: 14001 (0x800736b1)。
Error Description: 由于應(yīng)用程序配置不正確,應(yīng)用程序未能啟動(dòng)。重新安裝應(yīng)用程序可能會(huì)糾正這個(gè)問(wèn)題。
HTTP Error 500 - Server Error.
Internet Information Services (IIS)
============================
則 是沒(méi)有安裝VC9運(yùn)行庫(kù)即VISUAL C++ 2008,
Microsoft Visual C++ 2008 Redistributable Package (x86)下載地址:
http://download.microsoft.com/download/7/5/0/7502f4e9-1f90-4895-9259-1bde67b8b9a1/vcredist_x86.exe
第三步:在IIS上啟用 Gzip壓縮
關(guān)于Gzip的作用,這里就不再討論了,大家可以查查資料
1、 啟用GZip第一步:右擊“網(wǎng)站”,然后單擊“屬性”,單擊“服務(wù)”選項(xiàng)卡,選中紅框內(nèi)的兩項(xiàng),然后單擊“確定”。
2、 右擊IIS下面的Web服務(wù)擴(kuò)展節(jié)點(diǎn),再單擊“添加一個(gè)新的Web服務(wù)擴(kuò)展”,如下圖
添加擴(kuò)展名為“HTTP Compression”的擴(kuò)展,注意gzip.dll所在的目錄為:C:\windows\system32\inetsrv\gzip.dll
在IIS的Web服務(wù)擴(kuò)展里,選中HTTP Compression,然后在左側(cè)單擊允許。
3、設(shè)置Gzip參數(shù)
設(shè)置Gzip需要手工修改C:\windows\system32\inetsrv目 錄下的MetaBase.xml文件,MetaBase.xml對(duì)于IIS的運(yùn)行非常重要,若被破壞輕則IIS不能正常運(yùn)行,重則可導(dǎo)致重裝系統(tǒng),所以修 改這個(gè)文件之前一定要做好備份,下圖中名為MetaBase_backup.xml的文件就是一個(gè)備份。
下面設(shè)置deflate及gzip的具體參數(shù):
設(shè)置deflate的壓縮參數(shù),其中主要包括文件擴(kuò)展名,腳 本文件擴(kuò)展名,壓縮比例,需要說(shuō)明的是,這里壓縮比例推薦設(shè)置為1,我們稍候討論哪個(gè)壓縮比最合適。
設(shè)置gzip的壓縮參數(shù),其中主要包括文件擴(kuò)展名,腳本文件擴(kuò)展名,壓縮比例,需要說(shuō)明的是,這里壓縮比例仍然推薦 設(shè)置為1。
配置完成后,啟動(dòng)IIS,使設(shè)置生效
4、如果不想停止IIS而直接編輯MetaBase.xml文件,則按下圖設(shè)置:
在若編輯 MetaBase.xml里不想停止IIS,則在IIS節(jié)點(diǎn)上,注意是IIS,不是網(wǎng)站,在IIS上右擊,單擊“屬性”
選中“允許直接編輯配置數(shù)據(jù)庫(kù)”這一項(xiàng),可不停止IIS編輯MetaBase.xml文件
5、檢測(cè)Gzip壓縮是否啟用
如果大家的網(wǎng)站發(fā)布在Internet上,可以使用許多在線檢測(cè)工具,很多站 長(zhǎng)網(wǎng)站上都有提供,如何網(wǎng)站是在自己的電腦上試驗(yàn),要檢測(cè)Gzip啟用情況,需要一些能夠抓取HTTP頭信息的軟件,這里推薦使用 HttpAnalyzer V4,下載這個(gè)軟件后,則可清晰的看到Gzip的作用。
我們先關(guān)閉Gzip,看年沒(méi)有啟用Gzip壓縮時(shí)的HTTP頭 信息截圖:
可以看到,上圖中的 Compression Saving顯示為0,我們啟用Gzip壓縮,再來(lái)看一下HTTP頭信息情況:
上圖中可以看到,Content-Encoding顯示為gzip,右側(cè)Compression Saving即壓縮率顯示為73.29%,說(shuō)明壓縮還是很有效的。
用這個(gè)軟件大家也可以測(cè)試一下自己網(wǎng)站的壓縮率。
6、有關(guān)壓縮率的設(shè)定
根 據(jù)官方的測(cè)試數(shù)據(jù),200KB 的網(wǎng)頁(yè)依據(jù)不同 gzip 等級(jí)的壓縮比例為
Gzip level 1 0.593
Gzip level 6 (預(yù)設(shè)) 0.586
Gzip level 9 0.585
由此 可知,大于 1 以后的壓縮效益是很低的,可官方說(shuō)法,這會(huì)消耗服務(wù)器資源,因此他們強(qiáng)烈建議設(shè)定成 1,gzip 預(yù)設(shè)是 6。
用某論壇的實(shí)際 測(cè)試結(jié)果如下:
level 9 : 88.7% 壓縮比
level 1 : 86.7% 壓縮比
用我自己的網(wǎng)站測(cè)試數(shù)據(jù)如下
Level1時(shí)的壓縮比為62.93%,在Level9時(shí)的壓縮比為64.30%,可以 看到Level1和Level9基本相差不大。
所以我是建議用 1 就好,用 9 對(duì)服務(wù)器負(fù)載會(huì)重,人少?zèng)]感覺(jué),人一多就會(huì)服務(wù)器負(fù)載就重多了,而且設(shè)成 1 和 9 壓縮比其實(shí)差不了多少。
第四 步:安裝MySQL5.1
我們這里介紹的是MySQL5.1.48版本。
MySQL的下載地 址在本篇開(kāi)頭已經(jīng)給出。
關(guān)于MySQL安裝比較簡(jiǎn)單,這里只給出截圖,不再詳述
由于ZendOptimizer到現(xiàn)在也沒(méi)有出用于php5.3的版本,我們也就沒(méi)法安裝了。
官方討論區(qū)說(shuō),是因?yàn)?php5.3的改動(dòng)太大,使ZendGard也要發(fā)生很大變化,所以ZendOptimizer要等Gard完善后才能出來(lái)。
至 此,IIS+FastCGI+PHP5.3+MySQL+Gzip完整配置完成。
本文從開(kāi)始到寫(xiě)成歷經(jīng)了整兩天時(shí)間,由于個(gè)人水平有限,只能 寫(xiě)這最簡(jiǎn)單的文章,高手就不用看了,希望對(duì)剛?cè)腴T(mén)的新手有所幫助,我也就達(dá)到目的了。文中對(duì)于理論幾乎沒(méi)有闡述,只是對(duì)配置過(guò)程進(jìn)行了最詳細(xì)的介紹,這樣 使新手即使不太明白,照本文也可以配置出一樣的環(huán)境來(lái),本文章的錯(cuò)誤及疏漏之處,還請(qǐng)大家指出來(lái),大家在配置中有何問(wèn)題,我們一起來(lái)探討解決。
本文Word文檔下載地址: http://chabaoo.cn/books/55160.html
- Nginx 0.7.x + PHP 5.2.6(FastCGI)+ MySQL 5.1 在128M小內(nèi)存VPS服務(wù)器上的配置優(yōu)化
- 在VS2008中編譯MYSQL5.1.48的方法
- Apache2.2.16+PHP5.3.3+MySQL5.1.49的配置方法
- win2008 R2 下 IIS7.5+PHP5.2.17+Mysql5.5.16+Zend3.3.3
- Windows下安裝MySQL5.5.19圖文教程
- MySQL5.1主從同步出現(xiàn)Relay log read failure錯(cuò)誤解決方法
- mysql 5.7.12 winx64安裝配置方法圖文教程
- mysql 5.7.30安裝配置方法圖文教程
- mysql5.1.26安裝配置方法詳解
- mysql一鍵安裝教程 mysql5.1.45全自動(dòng)安裝(編譯安裝)
相關(guān)文章
Win2008 r2 IIS7.5出現(xiàn)FastCGI進(jìn)程最近常常失敗。請(qǐng)過(guò)一會(huì)再嘗試此請(qǐng)求的解決方法
這篇文章主要介紹了Win2008 r2 IIS7.5出現(xiàn)FastCGI進(jìn)程最近常常失敗。請(qǐng)過(guò)一會(huì)再嘗試此請(qǐng)求的解決方法,需要的朋友可以參考下2016-06-06Jira7.10.1在Windows環(huán)境下的安裝和配置教程圖解
JIRA中配置靈活、功能全面、部署簡(jiǎn)單、擴(kuò)展豐富。這篇文章主要介紹了Jira7.10.1在Windows環(huán)境下的安裝和配置教程圖解,需要的朋友可以參考下2018-06-06Windows系統(tǒng)下Apache、PHP無(wú)法啟動(dòng)問(wèn)題總結(jié)
這篇文章主要介紹了Windows系統(tǒng)下Apache、PHP無(wú)法啟動(dòng)問(wèn)題總結(jié),本文總結(jié)了常見(jiàn)的多種導(dǎo)致Apache、PHP無(wú)法啟動(dòng)問(wèn)題,并給出了解決方法,需要的朋友可以參考下2015-01-01IIS 應(yīng)用程序保護(hù)級(jí)別說(shuō)明
對(duì)于iis不知道 應(yīng)用程序保護(hù)級(jí)別區(qū)別的朋友,可以了解下2009-03-03Windows Server 2016 PHP運(yùn)行環(huán)境安裝配置
這篇文章主要介紹了Windows Server 2016 PHP運(yùn)行環(huán)境安裝配置,需要的朋友可以參考下2017-08-08使用ISAPI_Rewrite做簡(jiǎn)單實(shí)用的301重定向
現(xiàn)在很多人都使用虛擬主機(jī),而在域名越來(lái)越便宜,注冊(cè)也越來(lái)越容易的的情況下,大家的網(wǎng)站可能經(jīng)常更換域名,把舊的域名替換為新的,但是又不想丟失以前域名的流量,那就要使用301重定向。2010-07-07Windows下PyTorch開(kāi)發(fā)環(huán)境安裝教程
這篇文章主要介紹了Windows下PyTorch開(kāi)發(fā)環(huán)境安裝教程,本文給大家介紹的非常詳細(xì),對(duì)大家的工作或?qū)W習(xí)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03IIS 7.5中神秘的應(yīng)用程序池標(biāo)識(shí)解析(程序池賬戶)
在windows2008R2新版的IIS7.5里面,我絕對(duì)除了對(duì)php更好的支持以外,最重要的一個(gè)功能應(yīng)該就是“應(yīng)用程序池標(biāo)識(shí)”了,這是什么東西?我從網(wǎng)上找了篇比較不錯(cuò)的使用介紹,在blog里面做一份存檔,以備自己需要的時(shí)候查詢使用2016-07-07IIS7 配置大全(ASP.NET 2.0, WCF, ASP.NET MVC,php)
IIS7.0版本出來(lái)之后,確實(shí)功能上比以前的版本功能要強(qiáng)大一些,兼容性也比較好,但是配置起來(lái)卻有一點(diǎn)麻煩,本文就是為大家介紹一下如何在iis7.0中配置ASP、PHP環(huán)境和win2008的共享配置2013-06-06Windows Server 2019遠(yuǎn)程控制的配置與管理方法
在企業(yè)中服務(wù)器一般被寄存在專門(mén)的IDC機(jī)房中,服務(wù)器需要定期維護(hù),所以這時(shí)候就需要遠(yuǎn)程控制,本文就介紹Windows Server 2019遠(yuǎn)程控制的配置與管理方法,具有一定的參考價(jià)值,感興趣的可以了解一下2022-04-04