RHEL / CentOS 7 安裝 PHP Memcached 緩存


Memcached 是一套開放源碼的分散式記憶體快取系統, 目前已經有多個網站使用。在網站的應用上, 由於資料庫的查詢多數是讀取, Memcached 先將資料庫加以緩存, 那便可以減少資料庫的讀取, 從而增加效率。Memcached 在 PHP 另一個常用的地方是用作緩存 session。下文會示範在 CentOS 7 安裝 Memcached 及 Memcached 的 PHP 模組。

 

1. Yum 安裝 Memcached

在 RHEL 及 CentOS 十分簡單, 可以直接用 YUM 安裝:

 

# yum install memcached

2. 設定 Memcached

開啟 Memcached 的設定檔 /etc/sysconfig/memcached:
# vi /etc/sysconfig/memcached
Memcached 預設會使用埠號 11211, 及使用 512MB 記憶體, 預設的內容如下:
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="512"
OPTIONS=""
以上的設定可以根據自己的需要修改, 例如我將埠號改為 1121, 使用 1GB 記憶體作為緩存空間, 可以這樣寫:
PORT="1121"
USER="memcached"
MAXCONN="1024"
CACHESIZE="1024"
OPTIONS=""
儲存檔案後離開文字編輯器。

3. 啟動 Memcached

安裝好 Memcached 後, 啟動 Memcached 及設定開機自動啟動:
# systemctl enable memcached
# systemctl start memcached

4. 開啟防火牆埠號

接著是將 Memcached 使用的埠號, 在防火牆開放對外連接, 上面是使用埠號 1211:
# yum -y install php-pecl-memcache

5. 安裝 Memcached 的 PHP 模組

然後用 YUM 安裝 Memcached 的 PHP 模組, PHP 才可以使用 Memcached 的緩存功能:
# yum -y install php-pecl-memcache

安裝後需要重新啟動網頁伺服器及 Memcached:

# systemctl restart memcached
# systemctl restart httpd

要測試 PHP 是否有使用 Memcached 緩存, 可以在 DocumentRoot 目錄建立一個測試的 PHP 檔, 用 phpinfo() 查看, 以下會在 /var/www/html/ 目錄下建立 info.php 檔案:

# vi /var/www/html/info.php
加入以下內容:
<?php
phpinfo();
?>
然後嘗試用瀏覽器存取 http://server_ip/info.php, 看到 PHP Info 的頁面後, 如果可以在頁面找到 “memcached” 的段落便表示安裝成功了。