Windows 2003 IIS下配置MySQL+PHP+ISAPI_Rewrite+Zend+Xcache

此文章首發於牛C網 ,如需轉載,請保留此行...

一.準備工作

windows 2003,自己買吧...

安裝IIS 6.0:
安裝系統後在"控制面板"->"添加或刪除程序"->"添加/刪除Windows組件"->雙擊"應用程序服務器"->然後選中"Internet信息服務(IIS)"->確定->安裝完畢...

下載PHP: http://cn2.php.net/get/php-5.2.5-Win32.zip/from/this/mirror

下載MySQL: http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.51a-win32.zip/from/pick#mirrors
根據自己的速度,隨便點擊下面一個國家後面的HTTP/FTP之類的鏈接進行下載...

下載Zend Optimizer: http://www.zend.com/en/products/guard/downloads
自行選擇版本下載,我下的是3.3.3版...

下載Xcache: http://xcache.lighttpd.net/wiki/Release-1.2.2

很多人可能不知道Xcache是什麼,下面作個簡單介紹:

XCache是一種新的php緩存器,經過本人測試,在Windows下效果比同類軟件強很多.

實際測試效果如下(非科學方法):

原網頁平均執行時間: 0.13 秒
加速後網頁平均執行時間: 0.03秒
原CPU佔用率: 15% - 60%
加速後CPU佔用率: 3% - 30%


由上數據可以看出,使用這個加速器可以很大程度的降低CPU佔用(但會造成更多的內存佔用 ),並使網頁執行時間縮短.

由於其他同類軟件對Windows的支持不夠好,所以選用XCache是Windows主機的不二之選.

已經配置好MySQL + PHP環境,想看XCache的配置,請移步到XCache在Win2003與IIS6下的成功配置方法與疑難解答 查看.

下載ISAPI_Rewrite...(壓縮包裏包含了Bo-Blog 2.1的僞靜態配置,如果安裝Bo-Blog的話可以直接使用)

下載文件 (已下載 443 次)



也可以到官方進行下載:http://www.isapirewrite.com/download/isapi_rwl_0049.msi

二.配置系統環境

1.安裝並配置MySQL
解壓MYSQL,然後直接運行...
 

選擇"Custom"自定義安裝,
 

點擊"Change"更改 MySQL 安裝目錄(如果有需要的話),
 

待文件複製安裝完畢後,進行MySQL設置界面,單擊"Finish".
 

選擇"Detailed Configuration"進行詳細配置,
 

選擇MySQL 運行模式爲"Server Machine:
 

選擇MySQL數據庫默認存儲方式爲"Non-Trans Only ( MYISAM)"
 

設定MySQL最大連接數:一般設置爲 128 - 512 之間的整數。
 

設定MySQL網絡參數,注意:不要啓用"Strict Mode".
 

設定MySQL默認字符集,以用戶站點語言爲準 ,例如Bo-Blog 2.1版用的是utf8,那麼數據庫就選utf8,
 

Windows 環境設定,第一項爲作爲服務啓動的名稱,下面的複選框詢問是否讓該服務自動運行,下面的"Include Bin Directory in Windows PATH"指明是否把MySql的路徑插入到系統變量中,一般選上.
 

修改設定 root 用戶密碼,注意:不要選上"Create An Anonymous Account",該選項爲是否要啓動匿名遠程連接模式,使用該模式對數據庫非常不安全 ,
 

完成 MySQL 的安裝,並啓動 MySQL服務。
 

2.測試MySQL

打開"開始"菜單->選擇"運行"->輸入"cmd"->然後在彈出的cmd窗體中輸入"MySQL –u root –p"->輸入在MySQL配置過程中設定的密碼,如果顯示如下,MySQL即配置無誤...

Welcome to the MySQL monitor.  Commands end with ; or /g.
Your MySQL connection id is 8352
Server version: 5.0.51a-community-nt MySQL Community Edition (GPL)

Type 'help;' or '/h' for help. Type '/c' to clear the buffer.

mysql>


3.把PHP加入環境變量

解壓php,本例是解壓到"D:/php"...

右 擊"我的電腦"->"屬性"->選擇"高級"標籤頁->點擊"環境變量"->點擊下面"系統變量"列表內 的"Path"->點擊下面的"編輯"->在"變量值"最後處加上";D:/php"(php的解壓路徑,不要忘記先加上";" 號)->確定->點擊"編輯"按鈕前面的"新建"按鈕->在"變量名"後輸入"PHPRC"->"變量值"輸入"D:/PHP" (PHP的解壓路徑)->點擊"確定"完成...

4.修改php.ini配置文件

進入"D:/php"文件夾,將"php.ini-dist"重命名爲php.ini

點擊"開始"菜單->選擇"運行"->輸入"php.ini"->確定->打開php.ini(這樣做是爲了測試"環境變量"是否設置正確,當然可以直接雙擊php.ini打開文件...呵呵)

然 後搜索"extension_dir"找到extension_dir = "./",並改成extension_dir = "ext"(如果怕配置錯誤,可以直接點"開始"->"運行"->輸入"ext"->確定,如果打開一個全是.dll的文件夾,那證 明"環境變量"配置正確)

搜索"Windows Extensions"

在"Windows Extensions"下方的動態模塊配置中,需要打開以下模塊支持:(去掉模塊配置每行前面的";"號即可)

extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_MySQL.dll


推薦高級用戶(對PHP函數很熟悉的)搜索找到"disable_functions =",在其後面增加禁止使用的PHP函數,如"shell_exec","exec","scandir"等... 一般用戶可以留空...

5.建立網站

點 擊"開始"->選擇"運行"->輸入"inetmgr"(或者打開"控制面板"->選擇"管理工具"->選擇"Internet 信息服務(IIS)管理器")啓動IIS管理器,展開左邊的樹目錄,右擊"網站"->選擇"新建"建立一個網站(或虛擬主機),
 
 

輸入網站名稱作爲IIS中的標識,可任意輸入,
 

網站IP地址不用填寫,端口如沒有特殊要求則保持"80"即可,最後"此網站的主機頭"下正確輸入網站域名,
 

在硬盤分區中建立目錄,並指定,推薦網站放在獨立的分區中(本例以"E:/wwwroot/web"爲網站存放目錄),並確定路徑下面的"允許匿名訪問網站"被選上.
 

對於PHP應用,需要給予該站點"讀取"和"運行腳本"的權限.
 

至此,已經成功的新建了一個站點,
 

6.IIS與PHP整合配置-使站點支持PHP

展開左邊的樹目錄,找到剛剛建立的網站"PHPSite",右擊選擇"屬性",
 

在 站點屬性窗口中,單擊"主目錄"頁籤,單擊"配置"按鈕,在新彈出的"應用程序配置"對話框中,單擊"添加"按鈕,加入PHP的ISAPI支持,選擇"可 執行文件"爲"D:/PHP/php5isapi.dll"(PHP目錄下的php5isapi.dll),擴展名爲".php"(請不要忘記了前面的一個"." ),"限制動作"爲"GET,POST",單擊"確定"添加,並在"應用程序擴展"窗口中查看".php"擴展是否加載成功.若成功,則單擊"確定"關閉配置窗口,回到站點屬性主窗口.
 

單 擊"文檔"頁籤,在"默認內容文檔"中根據網站程序首頁名稱添加對應的頁面名稱,一般爲"index.php",如有靜態化的話,可能包 含"index.htm","index.html", 把他們都添加到列表裏,完成後,單擊"確定",關閉站點屬性配置窗口,回到 IIS 管理器主界面.
 

展開管理器左邊的樹目錄,右鍵單擊"Web 服務擴展",選擇"添加一個新的 Web 服務擴展",
 

在如下圖所示的"新建WEB服務擴展"對話框中,"擴展名"填寫PHP,"文件"選擇"D:/PHP/php5isapi.dll",並設置該PHP擴展默認爲允許 .
 

重啓IIS服務,
 
 

到此,IIS與PHP整合完畢...

7.測試PHP是否正常

進入"E:/wwwroot/web"目錄,新建一個文本文件,並在其中輸入以下代碼:

<?php
phpinfo();
?>


保存,並把文件名改爲"info.php".

如果發現無法更改擴展名,請點擊任意一個Windows窗體菜單欄中的"工具"菜單->選擇"文件夾選項"->點擊"查看"標籤頁->在"高級設置"中找到"隱藏已知文件類型的擴展名"前面的勾選去掉,點擊"確定"關閉,
 

打開IE瀏覽器,輸入:http://www.youdomain.com/info.php,如果能夠正常顯示PHP支持信息則表明配置整合是成功的.

8.安裝Zend Optimizer優化器

雙擊下載的ZendOptimizer安裝文件,安裝過程非常友好,也比較簡單,因而此處不再進行截圖說明.

但需注意以下幾點:

在安裝過程中提示php.ini的位置時,請選擇PHP的目錄,本例爲"D:/php".

安裝過程中提示IIS網站根目錄的位置,本例爲"E:/wwwroot"

Zend Optimizer安裝完成後會自動重啓IIS服務,重啓完成後需要再次打開IE瀏覽器窗口,查看info.php 支持信息,觀察是否包含了Zend Optimizer支持信息,如果沒有,則說明Zend Optimizer 沒有安裝成功,Zend Optimizer支持信息
 

9.安裝Xcache緩存器

解壓Xcache,把php_xcache.dll 放在php.ini中指定extension_dir中(本例爲"D:/php/ext) .

下面開始配置,打開php.ini

添加(記得是添加,不要更換原來的zend_extension_ts參數)
zend_extension_ts = "($extension_dir) /php_xcache.dll"

本人配置的時候,把($extension_dir)替換成絕對路徑ext(因爲建立了環境變量,所以直接使用ext就行,不需要再輸入路徑)才行的.

添加以下項到php.ini末尾,可以直接複製以下配置...

[xcache.admin]
xcache.admin.enable_auth = Off
xcache.admin.user = "UserName "
xcache.admin.pass = "PassWord "
[xcache]
xcache.shm_scheme = "mmap"
xcache.size = 64M
xcache.count = 4
xcache.slots = 64K
xcache.ttl = 1800
xcache.gc_interval = 1800
xcache.var_size = 8M
xcache.var_count = 4
xcache.var_slots = 64K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.test = Off
xcache.readonly_protection = Off
xcache.mmap_path = "xcache "
xcache.coredump_directory = ""
xcache.cacher = On
xcache.stat = Off
xcache.optimizer = Off
[xcache.coverager]
xcache.coverager = Off
xcache.coveragedump_directory = ""

需要修改的值已經用藍色 標出,說明如下:

xcache.admin.enable_auth  XCache後臺是否需要驗證(這個後臺在剛纔下載的XCache的admin目錄中,可以自由處理,如不需要請設置成Off)
xcache.admin.user XCache後臺登陸用戶名
xcache.admin.pass XCache後臺登陸密碼
xcache.size   XCache的內存緩存大小,普通網站建議設置爲64MB,如果是IDC服務器,可以設置成256MB
xcache.count  設置爲CPU的數量(雙核算2個,比如我的是兩個雙核Xeon 3.0,就設置爲4)
xcache.var_size
xcache.var_count  跟上兩條一樣
xcache.mmap_path  共享內存標識名,儘量用xcache,避免跟其它軟件衝突
xcache.optimizer  優化器,如果沒安裝Zend可以開啓,上面我們已經安裝好Zend了,所以設置成Off

至此配置完畢,重新啓動IIS即可...

然後再次打開info.php,查找"XCache",如果找到相關XCache的信息,那代表配置正確...相關信息如下(圖中所示的內容會因爲參數配置不同而不盡相同):
 

如果查找不到,請嘗試以下疑難解答中的第三點...

至於爲什麼不用extension,而用zend_extension_ts,因爲這個發行版的xcache的接口是ZEND_API,直接用extension無法初始化.

XCache疑難解答

1.phpinfo()中顯示沒有加載php_xcache.dll
   檢查php_xcache.dll的NTFS權限是否正確,需要給網站用戶(或者可以用Guests)只讀權限.

2.出現php內存錯誤
   使用了extension調用php_xcache.dll,請嘗試使用zend_extension_ts.

3.打開網頁沒有響應,出現錯誤 Fatal error: [Zend Optimizer] Zend Optimizer *** is incompatible with XCache 1.2.2
   這是因爲安裝了Zend導致,解決方法很簡單,把調用php_xcache.dll的zend_extension_ts提到調用zend的前面.如:
    zend_extension_manager.optimizer_ts="D:/Program Files/Zend/ZendOptimizer-3.3.0/lib/Optimizer-3.3.0"
    zend_extension_ts="C:/php/ext/php_xcache.dll"
    zend_extension_ts="C:/Program Files/Zend/ZendOptimizer-3.3.0/lib/ZendExtensionManager.dll"


到此,XCache緩存器配置完畢...

10.安裝ISAPI_Rewrite URL僞靜態模塊

想知道URL僞靜態的說明及對於SEO的影響,請移步到http://www.niuc.net/post/44/ 查看...

IIS 下的配置方法:打開"Internet信息服務(IIS)管理"->右擊"PHPSite"->選擇"屬性"->點擊"ISAPI篩選 器"選項卡->點擊"添加"添加篩選器->名稱填個rewrite->路徑自己指定"ISAPI_Rewrite.dll"(在 ISAPI_Rewrite的根目錄下)->點擊"確定".

然後配置ISAPI_Rewrite,打開ISAPI_Rewrite 目錄,打開"httpd.ini",在裏面放入對應你網站程序的配置(本站下載的ISAPI_Rewrite裏包含了Bo-Blog 2.1的配置文件,可直接使用),配置自己根據網站程序在baidu或者google上搜吧...如果是自己寫網站程序,請自行寫配置文件...

重啓IIS(重啓方法上面已經給出),配置完畢...然後到對應的網站程序裏打開對應的選項...

到此爲止...所有的配置已經成功完成,如果有任何疑問或者意見,請留言...謝謝觀看...希望對你有幫助...

PS.以上流程部分來自Discuz的用戶手冊...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章