win2008 R2 下 IIS7.5+PHP5.2.17+Mysql5.5.16+Zend3.3.3_win伺服器

來源:互聯網
上載者:User

前言

windows Server 2008 R2 下面IIS7.5已經對fastcgi的支援有了很大改進,還在使用PHP-ISAPi模式的朋友可以試一下。

鑒於目前php5.3.1還不能完美的支援主流php系統,不建議大家使用!

windows2008 Server R2下面環境搭建分三種情況,大家可以根據自己的運行需要選擇。

1、 IIS7.5+PHP+Mysql+Wincache 1.0RC

這個環境組合大家已經看出來了 沒有zend。

各個版本分別是:

PHP5.2.17–請注意是非安全執行緒版本 PHP 5.2.17 Non-thread-safe zip package,

MYSQL5.0 x64,

Wincache1.0rc for5.2,這個大家可以去微軟IIS官方下載,他將極大地提高您的系統運行效率!

如果您的伺服器啟動並執行都是開來源程式,不需要zend,強烈建議您使用這個配置!

2、 IIS7.5+PHP+Mysql+Zend+Xcache

此組合版本分別是:

Php-5.2.17-win32-vc6-x86.zip PHP請注意是安全執行緒版本

mysql-essential-5.0.91-winx64.msi

ZendOptimizer3.3.3-windows x86

Xcache1.3 for XCache-1.3.0-php-5.2.17-Win32-VC6-x86.zip

此組合可以完美運行當今主流的PHP系統,但是美中不足的是使用PHP安全執行緒版本無法載入wincache,很遺憾的一點!但是可以用xcache作為補充,但是相比PHP-ISAPI模式已經好多了!

3、 鑒於IIS7.5的新特性,可以根據每個網站的具體情況定製屬於他的專有運行環境!

在iis7.5 fastcgi模式下,IIS官方建議為每個網站設立單獨的應用池,並且每個網站都可以擁有它自己的PHP.ini以及fastcgi.exe.允許在一台主機上運行不同版本的PHP.[1]

[1]以上部分內容引自網路.

[2] Windows 2008 R2 僅有X64版本/Windows 2008有X86和X64版本/Windows 7有X86和X64版本; 以下教程對前面兩個X86版本也能支援,僅需要替換MYSQL對應版本即可.

準備程式

選擇以下這些版本需要注意的是MYSQL在2008R2下可以選擇64位的,PHP的VC9是針對IIS的,VC6針對apache的,安全執行緒和非安全版本本次選擇的是安全執行緒版本, PHP安全執行緒版本無法載入wincache,所以我們用Xcache作為替代,如果想用wincache就選用非安全執行緒版本,

1.mysql-essential-5.0.91-winx64.msi
2.Php-5.2.17-win32-vc6-x86.zip
3.ZendOptimizer-3.3.3-windows-i386.exe
4. Xcache1.3 .2for-php-5.2.17-Win32-VC6-x86.zip
5.phpMyAdmin-3.3.10.-all-languages.zip

安裝配置路徑規劃
MYSQL D:\service\ MYSQL
PHP D:\service\ PHP
Zend D:\service\ Zend
MYSQLdatebase D:\service\ MYSQLdatebase
WEB目錄D:\WEB\ZTGPS

以下教程為完全說明,做過部分最佳化,完全經過測試,主調試環境Windows 2008 R2 SP1伺服器已安裝組件NET.FROMWORK 4+VC2008X64,教程有不當之處歡迎探討.

一、安裝配置MySQL

二、安裝配置IIS7.5

三、安裝配置PHP

四、IIS7.5配置FASTCGI

五、安裝ZendOptimizer

 

六、Xcache安裝配置

七、網頁壓縮配置

八、配置phpmyadmin

九、EmpireBak v2010 帝國備份

十、靜態化安裝配置

十一、其它事項

一、安裝配置MySQL


(1),雙擊 mysql-essential-5.0.91-winx64.msi

NEXT

選擇 Custom 自訂安裝:

Next

點擊"Change"更改MySQL安裝目錄:D:\service\ MYSQL
待檔案複製安裝完畢後,進行MySQL設定介面,單擊Finish

NEXT

出現以下選擇

選擇DetailedConfiguration(詳細配置):

NEXT

出現以下選擇

選擇MySQL運行模式:Server Machine

NEXT

出現以下選擇

選擇 MySQL 資料庫預設儲存方式:Non-Transactional Database Only
接則選擇該選項。 NEXT

出現以下選擇

· Manual Setting(人工設定):選擇該選項可以手動設定伺服器並行串連的最大數目。從前面的下拉框中選擇並行串連的數目,如果你期望的數目不在列表中,則在下拉框中輸入最大串連數。

設定 MySQL 最大串連數:一般設定為 128 - 512 之間的整數:
NEXT

出現以下選擇Enable Strict Mode ,這樣MySQL就不會允許細小的語法錯誤。
建議您取消標準模式以減少麻煩。但熟悉MySQL以後,盡量使用標準模式,因為它可以降低有害資料進入資料庫的可能性。
NEXT

出現以下選擇
使用Manual Selected Default Character Set/Collation(字元集對話方塊)來更改 MySQL伺服器的預設字元集.
這裡請選擇你所要的預設字元集,中國大陸就選GBK吧
NEXT

出現以下選擇

要想將MySQL伺服器安裝為服務,並自動啟動,請選中Launch the MySQL Server Automatically選項

Service name 預設mysql就行

Include Bin Directory in windows Path 這個也選上
NEXT

修改設定 root 使用者密碼,注意:不要啟動遠端連線模式!
把Enable root access from remote machines
Create an anonymous account的兩處取消選擇

NEXT install
完成 MySQL 的安裝,會自動啟動 MySQL 服務。

(1)測試MySQL工作是否正常。

開啟cmd命令提示字元視窗,輸入命令:MySQL –u root –p

輸入密碼後,如果能夠正常進入MySQL控制台則說明MySQL安裝正常。

更改MySQL資料庫目錄

a)開啟cmd命令提示字元視窗,輸入命令:net stop MySQL停止MySQL服務運行;

b)開啟D:\ service\MySQL\my.ini

找到:

Datadir = "D:\ service\MySQL\data"

修改為:

Datadir = "D:\Service\ MySQLDatabase"

c)將D:\Service\MySQL\data檔案夾內的內容複寫到D:\Service\MYSQLDatabase;

d)開啟cmd命令提示字元視窗,輸入命令:net start MySQL啟動MySQL服務。

e)重新測試MySQL是否工作正常。

(3)準備LibMySQL動態連結程式庫

將D:\Service\MySQL\bin\目錄下的 libMySQL.dll, libmcrypt.dll, php5ts.dll(如果沒有libmcrypt.dll,php5ts.dll這兩個檔案請到PHP程式目錄下提取) 3個檔案複製到 C:\Windows\System32

  注:my.ini上面“basedir”是指向MySQL的安裝目錄,“datadir”指向MySQL的資料存放目錄。

至此MySQL已經安裝完畢

三、安裝配置PHP

開啟Php-5.2.17-win32-vc6-x86.zip

把php的壓縮包內的檔案解壓到 D:\Service\PHP檔案夾,將php.ini-dist重新命名為php.ini。

開啟 php.ini檔案,

找到:extension_dir = "./"

將其改為;

extension_dir = "D:/Service/PHP/ext"

extension_dir是存放擴充庫(模組)的目錄,也就是PHP用來尋找動態擴充模組的目錄。

找到Post_max-size= 8M

修改為30M

找到:Windows Extensions

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

extension=php_gd2.dll, GD庫支援,如果不開啟該模組則Discuz!論壇圖片浮水印不能使用。

extension=php_mcrypt.dll,更好的支援phpmyadmin不選的話,會出現“無法載入mcrypt擴充

extension=php_mbstring.dll,開啟mbstring,不選的話用phpMyAdmin會出現紅色提示。
extension=php_mysql.dll, 支援MySQL。

extension=php_pdo.dll,

extension=php_pdo_mysql.dll,
前面的分號去掉,這樣php才可以支援這些擴充,

還要開哪些功能可以以後根據需要再修改。php.ini可以備份,以後重裝系統可以直接用。

8、配置session.save_path路徑

更改session.save_path的路徑為D:/Service/php/tmp (注意有好幾段此文字,請選擇如下圖的目錄位置,此目錄需要手動建立並開放讀寫權限)

session.save_path進階配置及其他說明事項,從php.ini設定檔翻譯而來

  你可以使用”N;[MODE;]/path”這樣模式定義該路徑,N是一個整數,表示使用N層深度的子目錄,而不是將所有資料檔案都儲存在一個目錄下。

  [MODE;]可選,必須使用8進位數,預設600(=384),表示每個目錄下最多儲存的會話檔案數量。[MODE;]並不會改寫進程的umask。php不會自動建立這些檔案夾結構。可使用ext/session目錄下的mod_files.sh指令碼建立。如果該檔案夾可以被不安全的使用者訪問(比如預設的”/tmp”),那麼將會帶來安全性漏洞。當N>0時自動記憶體回收將會失效,具體參見下面有關垃圾搜集的部分。

  如果你伺服器上有多個虛擬機器主機,建議針對每個不同的虛擬機器主機分別設定各自不同的目錄。

  至此最基本的session配置就完成了,你只要儲存php.ini,並重啟IIS,即可使用session功能。

  其他session配置說明

  session.save_handler = ”files”

  預設以檔案方式存取session資料,如果想要使用自訂的處理器來存取session資料,比如資料庫,用”user”。

  session.use_cookies = 1

  是否使用cookies在用戶端儲存會話sessionid,預設為採用cookies

  session.use_only_cookies = 0

  是否僅僅使用cookie在用戶端儲存會話sessionid,這個選項可以使管理員禁止使用者通過URL來傳遞id,預設為0,如果禁用的話,用戶端如果禁用Cookie將使session無法工作。

  session.name = “PHPSESSID”

  當做cookie name來使用的session標識名

  session.auto_start = 0

  是否自動啟動session,預設不啟動,我們知道在使用session功能時,我們基本上在每個php指令碼頭部都會通過session_start()函數來啟動session,如果你啟動這個選項,則在每個指令碼頭部都會自動啟動session,不需要每個指令碼頭部都以session_start()函數啟動session,推薦關閉這個選項,採用預設值。

  session.cookie_lifetime = 0

  傳遞sessionid的Cookie有效期間(秒),0表示僅在瀏覽器開啟期間有效。

  session.gc_probability = 1

  session.gc_divisor = 100

  定義在每次初始化會話時,啟動記憶體回收程式的機率。計算公式如下:session.gc_probability/session.gc_divisor,比如1/100,表示有1%的機率啟動啟動記憶體回收程式,對會話頁面訪問越頻繁,機率就應當越小。建議值為1/1000~5000。

  session.gc_maxlifetime = 1440

  設定儲存的session檔案生存期,超過此參數設定秒數後,儲存的資料將被視為'垃圾'並由記憶體回收程式清理。判斷標準是最後訪問資料的時間(對於FAT檔案系統是最後重新整理資料的時間)。如果多個指令碼共用同一個session.save_path目錄但session.gc_maxlifetime不同,將以所有session.gc_maxlifetime指令中的最小值為準。

  如果你在session.save_path選項中設定使用子目錄來儲存session資料檔案,記憶體回收程式不會自動啟動,你必須使用自己編寫的shell指令碼、cron項或者其他辦法來執行垃圾搜集。

  比如設定”session.gc_maxlifetime=1440″ (24分鐘):

  cd /path/to/sessions; find -cmin +24 | xargs rm

  以上是一些常用的session配置選項說明,更多的session配置選項說明你可以參考php.ini檔案中的說明。

接下來修改了一些檔案上傳以及記憶體使用量最大限制:
搜尋Resource Limits
找到以下進行修改:
max_execution_time = 30 ; 這裡是每個指令碼啟動並執行最長時間,可以自己修改加長,單位秒。
max_input_time = 60 ; 這裡是每個指令碼可以消耗的時間,單位也是秒。
memory_limit = 128M ; 這裡是指令碼運行允許的最大記憶體,根據自己機器情況自行配置。
搜尋upload_max_filesize
upload_max_filesize = 2M 這裡是上傳檔案的最大許可大小 ,線上上傳的圖片站、論壇等可能需要設定更大的,自行修改。

現在php基本配置完成了,儲存php.ini檔案,並將其複製到C:\Windows\

順便提醒一下別忘記把register_globals = Off修改成register_globals = On。

四、IIS7.5配置FASTCGI

開啟PHP目錄下的php.ini,尋找:extension_dir = "./"

此處為PHP擴充的目錄,檢查是否如下extension_dir ="D:\service\php\ext\"
 

按圖配置參數:

儲存並關閉!

接下來將PHP掛接到IIS

開啟IIS管理器,找到:“處理常式映射”,開啟如下圖 點擊 添加模組映射:

上圖引用自網路,把可執行檔位置替換成D:\service\php\php-cgi.exe即可.

確定後會提示是否建立FASTCGI應用程式,點擊是.

此時回到IIS功能視圖,找到:“FastCgi設定”,開啟並按圖操作

添加檔案監視和環境變數:PHP_FCGI_MAX_REQUESTS,取值設定為10000:

添加對php.ini的檔案監視可以在修改php配置之後重啟IIS而讓更改即時生效!

進入D:\web\ZTGPS目錄,建立一個phpinfo.php檔案,內容為:

<?php

phpinfo();

?>

如果載入FASTCGI不成功點擊-應用程式集區--然後DefaultAppPool應用池-選擇進階設定

啟用32位應用程式 後面選擇 True

 安裝 ZendOptimizer

 安裝過程非常友好,也比較簡單,因而此處無截圖說明。但需注意以下幾點:

(1) Zend Optimzer 的安裝目錄要指定為 D:\Service\Zend ;

(2) 在安裝過程中提示 php.ini 的位置是,注意觀察是否為 C:\Windows ,如果不是必須手動指定為 php.ini 的位置 ;也可以按預設,你把剛才配置的 php.ini 複製到 WINDOWS 目錄。 (3) 安裝過程中提示 IIS 網站根目錄的位置,指定為:D:\WEB 也既你儲存網站的總目錄 Zend Optimizer 安裝完成後會自動重啟 IIS 服務,重啟完成後需要再次開啟 IE 瀏覽器視窗, 查看 phpinfo.php 支援資訊,觀察是否包含了 Zend Optimizer 支援資訊,如果沒有,則說 明 Zend Optimizer 沒有安裝成功!

預設安裝完畢以後不不可以直接支援 Zend 加密,需要做特別的設定 ..下面將講解如何配置

Zend,並讓 php 可以支援 返回案頭,在”我的電腦”上面右鍵,點擊”屬性” 然後出現一下視窗,然後點擊右側邊欄的”進階系統設定” 然後再點擊下面的”環境變數”

雙擊開啟編輯 Path 變數視窗, 預設的是這樣的%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMRO

OT%\System32\WindowsPowerShell\v1.0\

然後在後面添加

;D:\service\Zend\lib;D:\service\Zend\lib\Optimizer-3.3.0\php-5.2.x

還可以指定 PHP 和 MYSQL 把支援庫的目錄一併添加 方便使用 PHP –V 來調試 PHP 載入 情況 ;D:\service\MYSQL\bin;D:\service\PHP;D:\service\PHP\ext 添加這行即可(根據自己安裝的檔案路徑自行填寫)

一路確定

重啟系統

想讓變數值生效需要重啟系統的。

注意:如果你的 Zend 版本和 php 版本和我所示範的不同的話,那麼上面的路徑可能會更改,請 時情況修改檔案路徑

現在 php,mysql,fastcgi,zend 配置工作已經完成,如果不出意外的話,那麼現在您的 IIS 7.5 就可 以支援以上環境了 請使用 PHP 探針程式或者 PHPINFO.PHP 查看是否配置成功。如果 OK

能看到如下資訊就行了

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.