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