linux下 安裝php eAccelerator 加速器

來源:互聯網
上載者:User

vps是centOS系統,php為nginx+fastcgi,nginx安裝目錄/usr/local/nginx,php安裝目錄/usr/local/php,開始在linux安裝PHP加速器eAccelerator吧!

先行編譯安裝eAccelerator
安裝前準備
安裝之前使用需要安裝make和phpize,如果安裝過,跳過此步驟。運行下面的命令

 代碼如下 複製代碼
yum install make php5-dev
//ubuntu下用apt-get

安裝eAccelerator
然後開始下載eAccelerator,配置安裝編譯:

 代碼如下 複製代碼
wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
tar xjf eaccelerator-0.9.6.1.tar.bz2
cd eaccelerator-0.9.6.1
/usr/bin/phpize
./configure -enable-eaccelerator=shared -with-php-config=/usr/bin/php-config
make
make install

這時會將eaccelerator安裝到php目錄中,螢幕會顯示eaccelerator.so所在路徑
例如:

 代碼如下 複製代碼

Installing shared extensions:/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/

記住這個路徑,在後面的設定檔裡面會用到。

配置eAccelerator緩衝路徑

 代碼如下 複製代碼
mkdir /tmp/eaccelerator
chmod 777 /tmp/eaccelerator

配置eAccelerator
安裝eAccelerator之後,需要配置才可以使用哦~所以我們需要在php.ini中添加eAccelerator的配置,當然你也可以建立個設定檔,在php.ini中引入設定檔即可。

 代碼如下 複製代碼
[eaccelerator]
zend_extension=”/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so”
eaccelerator.shm_size=”8″
eaccelerator.cache_dir=”/tmp/eaccelerator”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=”"
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”3600″
eaccelerator.shm_prune_period=”3600″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″
eaccelerator.keys = “disk_only”
eaccelerator.sessions = “disk_only”
eaccelerator.content = “disk_only”

幾個重要配置說明
安裝為 Zend extension 模式為上面的配置,如果你使用了thread safe模式安裝的PHP,你必須使用 “zend_extension_ts” 替換第二行的 “zend_extension”,安裝為 PHP extension 模式為“extension”。

cache_dir:緩衝的檔案夾位置,就是上一步我們mkdir的路徑。
shm_size:緩衝的大小,根據自己伺服器實際情況設定
enable:開啟或關閉 eAccelerator,”1″ 為開啟,”0″ 為關閉。預設值為 “1″。
optimizer:啟或關閉內部最佳化器,可以提升代碼執行速度。”1″ 為開啟,”0″ 為關閉。預設值為 “1″。
check_mtime:開啟或者關閉 PHP 的檔案修改檢查,”1″ 是指開啟,”0″ 是指關閉。預設值是 “1″。
debug:開啟或關閉調試日誌記錄。”1″ 為開啟,”0″ 為關閉。預設值為 “0″。會將快取命中得記錄寫入日誌。
filter:判斷哪些 PHP 檔案必須緩衝。可以指定緩衝和不緩衝的檔案類型(如 “*.php *.phtml”等)如果參數以 “!” 開頭,則匹配這些參數的檔案被忽略緩衝。預設值為 “”,即,所有 PHP 檔案都將被緩衝。
shm_max:當使用 ” eaccelerator_put() ” 函數時禁止其向共用記憶體中儲存過大的檔案。該參數指定允許儲存的最大值,單位:位元組 (10240, 10K, 1M)。”0″ 為不限制。預設值為 “0″。
shm_ttl:當 eAccelerator 擷取新指令碼的共用記憶體大小失敗時,它將從共用記憶體中刪除所有在最後 “shm_ttl” 秒內沒有存取的指令碼緩衝。預設值為”0″,為不從共用記憶體中刪除任何快取檔案。
shm_prune_period:當 eAccelerator 擷取新指令碼的共用記憶體大小失敗時,他將試圖從共用記憶體中刪除早於”shm_prune_period” 秒的緩衝指令碼。預設值為 “0″,為不從共用記憶體中刪除任何快取檔案。
shm_only:允許或禁止將已編譯指令碼緩衝在磁碟上。該選項對 session 資料和內容快取無效判定。預設值為 “0″,為使用磁碟和共用記憶體進行緩衝。
compress:允許或禁止壓縮內容緩衝。預設值為 “1″,為允許壓縮。
compress_level:指定內容緩衝的壓縮等級。預設值為 “9″,為最高等級。

 代碼如下 複製代碼

eaccelerator.keys = “disk_only”
eaccelerator.sessions = “disk_only”
eaccelerator.content = “disk_only”

設定內容緩衝的存放的地方,可以設定為:
shm_and_disk 在共用快取和硬碟(預設值)
shm 預設存在共用記憶體,如果共用記憶體已滿或大小超過 “eaccelerator.shm_max” 的值,就存到硬碟
shm_only 只存放在共用記憶體
disk_only 只存放在硬碟
none 不快取資料

重啟相關服務
# 重啟nginx
/etc/init.d/nginx restart
# 重啟PHP-CGI
/etc/init.d/php-fastcgi restart
查看eAccelerator運行情況
eAccelerator安裝包裡有一個control.php檔案,把它複製到網站的任意目錄,然後將路徑添加到設定檔,就可以通過這個php檔案可以用它查看和管理eAccelerator,這個必須指定,否則查看緩衝內容的時候會出錯,訪問時候預設的使用者名稱是:admin,密碼:eAccelerator,使用者名稱和密碼可以在control.php中修改:

eaccelerator.allowed_admin_path = “/data/wsdata/wwwroot”
這樣我們就可以通過訪問control.php來查看eAccelerator的命中率了,還可以線上清理緩衝目錄,查看配置的緩衝空間使用率。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.