程式說明
eAccelerator是一個自由開放源碼php加速器,優化和動态内容緩存,提高了php腳本的緩存性能,使得PHP腳本在編譯的狀态下,對 伺服器的開銷幾乎為零。 它還有對腳本起優化作用,以加快其執行效率。使您的PHP程式代碼執效率能提高1-10倍。eAccelerator本身的開銷也是極少的。
1、程式下載下傳
###伺服器上之間下載下傳###
[root@web-yv3 ~]# wget https://github.com/eaccelerator/eaccelerator/tarball/master
[root@web-yv3 ~]# ll
-rw-r--r-- 1 root root 131579 Nov 29 17:34 master #此檔案就是下載下傳的eAccelerator的安裝包,勿驚勿驚!!
###官網自行下載下傳###
http://eaccelerator.net/
eaccelerator-eaccelerator-42067ac.tar.gz
通過rz上傳或ftp上傳!!
2、編譯安裝加速器
2.1、解壓程式
[root@web-yv3 ~]#tar xf master #正常方式解壓
[root@web-yv3 ~]# ls
eaccelerator-eaccelerator-42067ac master
[root@web-yv3 ~]# cd eaccelerator-eaccelerator-42067ac #已經露出了廬山真面目!
2.2、檢視phpize
phpize是用來擴充php擴充子產品的,通過phpize可以建立php的外挂子產品。
[root@web-yv3 ~]# cd eaccelerator-eaccelerator-42067ac
[root@web-yv3 eaccelerator-eaccelerator-42067ac]# whereis phpize
phpize: /usr/bin/phpize /usr/share/man/man1/phpize.1.gz
2.3、執行phpize
[root@web-yv3 eaccelerator-eaccelerator-42067ac]# /usr/bin/phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
2.4、檢視php-config
[root@web-yv3 eaccelerator-eaccelerator-42067ac]# whereis php-configphp-config: /usr/bin/php-config /usr/share/man/man1/php-config.1.gz
2.5、編譯安裝
[root@web-yv3 eaccelerator-eaccelerator-42067ac]# ./configure --enable-eaccelerator=shared --with-php-config=/usr/bin/php-config
[root@web-yv3 eaccelerator-eaccelerator-42067ac]# make
[root@web-yv3 eaccelerator-eaccelerator-42067ac]# make install
Installing shared extensions: /usr/lib64/php/modules/ ##記錄此安裝位置
+-------------------------------------------------------+
| !!! Attention !!! |
| |
| For disk cache users (using eaccelerator.shm_only=0): |
| Please remember to empty your eAccelerator disk cache |
| when upgrading, otherwise things will break! |
2.6、設定配置檔案
[root@web-yv3 eaccelerator-eaccelerator-42067ac]# vi /etc/php.ini
extension="/usr/lib64/php/modules/eaccelerator.so"
eaccelerator.shm_size="64"
eaccelerator.cache_dir="/data/eaccelerator_cache"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
2.7、配置檔案解析
extension="/usr/lib64/php/modules/eaccelerator.so" #加載eaccelerator子產品
eaccelerator.shm_size="64" #用來設定配置設定給eAccelerator用來緩存php的最大共享記憶體,機關是mb,如果設定為0,就使用預設大小。
eaccelerator.cache_dir="/data/eaccelerator_cache" #用來設定硬碟緩存目錄。eA用來存放預編譯代碼,session資料,内容和使用者入口。預設值是"/tmp/eaccelerator"。
eaccelerator.enable="1" #用來設定是否啟用或禁用eAccelerator,設定1為啟用,設定0為禁用。
eaccelerator.optimizer="1" #開啟或關閉優化,使用者加速代碼的執行。1為開啟,0為關閉,優化僅僅在腳本被編譯時候發生并且是在被緩存之前。
eaccelerator.check_mtime="1" #在每次命中的時候Eaccelerator都會檢查腳本的修改時間來判斷是不是腳本發生的變化來決定是否需要重新編譯。在每次命中的時候 Eaccelerator都會檢查腳本的修改時間來判斷是不是腳本發生的變化來決定是否需要重新編譯。
eaccelerator.debug="0" #開啟關閉debug日志。如果設定為1,将列印很多檔案命中的資訊到日志中。
eaccelerator.filter="" #用來決定哪個php檔案被緩存。可以通過使用通配符(比如"*.php *.phtml")來比對需要緩存的php腳本。如果以"!"開頭,表示不比對,這個參數預設是空,比如定義了"!/home"的話,那所有/home目 錄的腳本都不會被緩存。如果要定義多個比對,使用空格或者制表符分開,而不是逗号。
eaccelerator.shm_max="0" #設定記憶體緩存可以緩存檔案的最大值
eaccelerator.shm_ttl="0" #當eAcelerator沒有空餘的共享記憶體的時候,就會把最少shm_ttl設定的秒數沒通路過的腳本從緩存中釋放掉,預設值是0,表示eA不會釋放 任何緩存。
eaccelerator.shm_prune_period="0" #當沒有足夠的記憶體用來緩存的時候,eA會在上次清除緩存的時間超過了shm_prune_period設定的秒數時再次嘗試清除過期的腳本。預設值為 0,eA将不從緩存中清除過期的腳本。
eaccelerator.shm_only="0" #啟用或者禁用磁盤緩存。這個選項對session資料和内容的緩存沒效果。預設值是0,允許eA使用磁盤和記憶體進行緩存。
eaccelerator.compress="1" #當使用eaccelerator_content_* 的api時,eA可以在緩存前對内容進行壓縮。預設值為1表示啟用,禁用為0。
eaccelerator.compress_level="9" #内容緩存的壓縮等級。預設值為9,是最大壓縮級别。
2.8、建立并授權緩存目錄
[root@web-yv3 eaccelerator-eaccelerator-42067ac]# mkdir /data/eaccelerator_cache[root@web-yv3 eaccelerator-eaccelerator-42067ac]# chown deploy.deploy eaccelerator_cache/ -R
2.9、重新開機PHP
[root@web-yv3 ~]# service php-fpm restart
2.10、通過phpinfo檢視
[root@web-yv3 html]# vi phpinfo.php
echo phpinfo();
?>

3、管理緩存
3.1、通過伺服器管理cache
[root@web-yv3 eaccelerator_cache]# lldrwx------ 18 deploy deploy 4096 Nov 29 19:41 500
3.2、通過内置頁面管理cache
eAccelerator控制台的位址,安裝包裡有一個control.php檔案,把它複制到網站的任意目錄,可以用它檢視和管理,這個必須指定,否則檢視緩存内容的時候會出錯,通路時候預設的使用者名是:admin,密碼:eAccelerator