# 我們開始裝memcachetar -zxvf tar -zxvf libevent-1.4.13-stable.tar.gz
cd libevent-1.4.13-stable
./configure --prefix=/usr
make && make install
# 檢視 libevent 是否安裝完成
ls -al /usr/lib | grep libevent
tar -zxvf memcached-1.4.17.tar.gz
cd memcached-1.4.17
./configure --with-libevent=/usr
make && make install
# 檢視memcache是否安裝完成
ls -al /usr/local/bin/mem*
# 啟動memcache的服務端
#啟動Memcache的伺服器端:
/usr/local/bin/memcached -d -m 200 -u www -p 11211 -c 256 -P /tmp/memcached.pid #(不指定ip)
#參數說明:
#-d選項是啟動一個守護程序,
#-m是配置設定給Memcache使用的記憶體數量,機關是MB,我這裡是10MB,
#-u是運作Memcache的使用者,我這裡是root,
#-l是監聽的伺服器IP位址,如果有多個位址的話,我這裡指定了伺服器的IP位址202.207.177.177,
#-p是設定Memcache監聽的端口,我這裡設定了11211,最好是1024以上的端口,
#-c選項是最大運作的并發連接配接數,預設是1024,我這裡設定了256,按照你伺服器的負載量來設定,
#-P是設定儲存Memcache的pid檔案,我這裡是儲存在 /tmp/memcached.pid,#2.如果要結束Memcache程序,執行:
kill `cat /tmp/memcached.pid`
# 添加防火牆規則
# -I 在前面添加規則# drop目标端口11211端口的所有資料包
iptables -I INPUT -p tcp --dport 11211 -j DROP
# 單獨接受特定的ip的目前端口的資料包
iptables -I INPUT -s 192.168.1.112 -p tcp --dport 11211 -j ACCEPT
# 檢視啟動的端口号
netstat -tanp # 檢視所有使用者開啟的端口
netstat -tunp # 檢視目前使用者開啟的端口
# 安裝php-memcache的擴充
tar -zxvf memcache-2.2.4.tgz
cd memcache-2.2.4
phpize # 如果沒有找到phpize指令則 yum -y install php-devel
./configure --with-php-config=/usr/bin/php-config --enable-memcache # error: memcache support requires ZLIB. Use --with-zlib-dir=
make
make test
## 檢視是否可以在擴充目錄下找到 memcache.so
ls /usr/lib64/php/modules/ # 如果找不到則直接複制一個過去 cp modules/memcache.so /usr/lib64/php/modules/
### 如果可以找到則重新加載php配置檔案進行測試
service httpd reload
### 測試memcache的功能是否正常
# 建立index.php檔案測試看php是否支援memcache<?php
ini_set('display_errors',1);
error_reporting(7);
$mem = new Memcache;
$mem->connect('192.168.1.112',11211);
$mem->set('test','Hello world!',0,12);
$val = $mem->get('test');
echo $val;
var_dump($val);
# 如果頁面中輸出Hello world!string(12) "Hello world!" 則說明此時php已經支援memcache子產品## /etc/rc.d/rc.local 中加入memcache的啟動指令確定memcache在開機時自動啟動
vi /etc/rc.d/rc.local
# memcache 啟動
/usr/local/bin/memcached -d -m 200 -u www -p 11211 -c 256 -P /tmp/memcached.pid