先說一下背景,因為是自己租來的VPS管理代碼、文檔及跑一些自己用的一些服務程式,為了便宜又穩定就考慮租了台windows2003的vps,記憶體總共只1G,很捉襟見肘。
在Web服務這一塊,同一台裝了2003的伺服器上,需要跑PHP及ASP.NET,IIS6上安裝了PHP後,加裝Rewrite組件,可以較正常的跑wordpress,但後來由於rewrite組件到期了,去網上找了各種版本的安裝,仍然無用,總是提示已到期。
於是只好考慮用用nginx做的反向 Proxy,動態解析轉向到IIS6及Apache上,但這樣整體記憶體佔用看起來有點大,於是停用了Apache,轉而用nginx加PHP-cgi.exe來跑wordpress,發現訪問速度似乎提升了一些,但是php進程動不動就自動結束,於是又寫個管理php-cgi.exe的守護進程。後來,nginx又不正常了,時不時出點小毛病,而php-cgi用守護進程只啟動一個進程,也時常出問題,如果啟動一堆的話,加上守護進程與php-cgi所佔用的記憶體,還不如直接nginx轉apache算了。
總之,確定在windows下,想好好跑php,又要節省記憶體,真的不容易。
然後考慮到IIS7.5 Express可以在WIN2003上跑,不但能以fastcgi的方式支援php,還內建Rewrite組件,只需簡單改改web.config的rule規則就可以了。
於是百度下載了IIS7.5 Express後,安裝,還需要對applicationHost.config進行配置,首先得找到這個檔案在哪裡,如果能在"我的文件"中IIS7Express目錄下找到,那就是它了,否則應該就是在IIS7 Express的安裝目錄下。
1、先修改:defaultDocument節,加入
2、找到fastcgi節。
3、找到handlles,加入
尤其要注意的一是,這一句最好加在最前面,也就是在下面的第一句,避免被其它Handle搶先處理了。
以上配置中,C:\php\php-cgi.exe 的部分替換成自己的php檔案夾中的php-cgi.exe的位置。
4、在配置節下,直接修改網站資訊,或直接用appcmd.exe add site來添加網站。
5、找到諸如wordpress的安裝資料夾,建立一個web.config檔案,在配置節下,添加Gzip壓縮規則。
6、同樣在web.config中,Wordpress的rewrite完整的web.config檔案內容如下:
這樣就完全配置完畢了,然後在IIS7 Express目錄下,找到IISExpress.exe,直接雙擊運行,或者用命令列來執行指定載入哪個網站.
iisexpress.exe /site:'網站名稱1"iisexpress.exe /site:'網站名稱2"
訪問一下,就會發現訪問速度比在windows下使用apache要快得多,而且少跑一個nginx,記憶體佔用整體上也少了很多。
http://www.bkjia.com/PHPjc/440333.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/440333.htmlTechArticle先說一下背景,因為是自己租來的VPS管理代碼、文檔及跑一些自己用的一些服務程式,為了便宜又穩定就考慮租了台windows2003的vps,記憶體總...