centos6.5 memcached and php-memcached安裝

今天要處理一堆數據,第一次從數據庫取出來最少的幾千,最多的幾十萬,不可能每次去數據庫取。第一次取出成功後,因爲本地windows 沒有memcached環境,只好先臨時保存到一個文件中,用 array_slice 分段讀取數據執行。可這每次讀取文件也麻煩啊。幾十萬的數組保存出來小的也是幾十KB 大的好幾M。SO,那就在虛擬機環境里弄個memcached吧。全部的環境安裝我喜歡編譯安裝 不喜歡yum  apt-get 等方式安裝。注本環境是已經裝好了PHP的,我裝的是PHP5.6 其實弄完了,早知道應該去裝redis的,至少能夠處理我幾十萬數組的交集差集。memcached並無那麼靈活。php

準備前的事

yum -y install gcc 
yum -y install gcc-c++

而後下載安裝 libevent c++

官網:http://libevent.org/git

wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-x.x.xx-stable.tar.gz
tar -zxvf libevent-x.0.xx-stable.tar.gz
cd libevent-x.x.xx-stable
./configure --prefix=/usr/local/libevent/
make && make install

安裝memcached

官網網址: http://memcached.org/downloadsgithub

官網安裝說的很明白了 官方安裝代碼web

wget http://memcached.org/latest
tar -zxvf memcached-1.x.x.tar.gz
cd memcached-1.x.x
./configure && make && make test && sudo make install

可是爲了方便管理 我仍是喜歡安裝在我指定的地方的。redis

我喜歡把下載下的文件放在 /var/local/download/目錄下 下載到什麼地方,大家喜歡本身定。數據庫

wget http://memcached.org/latest
tar -zxvf memcached-1.x.x.tar.gz
cd memcached-1.x.x
./configure --prefix=/webService/memcached --with-libevent=/usr/local/libevent
make -j2
make install

到此咱們暫時安裝完了memcached.vim

安裝 LIBMEMCACHEDwindows

下載地址:https://launchpad.net/libmemcached/+download數組

wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar -zxvf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18
./configure --prefix=/usr/local/libmemcached --with-memcached=/webService/memcached/
make -j2 
make install

libmemcached 必須安裝若是不安裝就會出現下面這個狀況

安裝PHP-MEMCACHED

下載地址:http://pecl.php.net/package/memcached 

http://pecl.php.net/get/memcached-2.2.0.tgz
tar -zxvf memcached-2.2.0.tgz
cd memcached-2.2.0
phpize
./configure --enable-memcached --with-php-config=/webService/php5.6/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl
make -j2
make install

安裝完成後你將獲得一個目錄提示

[root@localhost memcached-2.2.0]#  make install
Installing shared extensions:     /webService/php5.6/lib/php/extensions/no-debug-zts-20131226/

而後進入這個目錄你裝發現多了 memcached.so

cd /webService/php5.6/lib/php/extensions/no-debug-zts-20131226/
ls
memcached.so  opcache.so  scws.so  sphinx.so  swoole.so

而後編輯php.ini

vim /webService/php5.6/etc/php.ini
#個人php ini 是我指定到這個目錄的,你能夠根據你的地址來編輯 打印phpinfo()你就能找到你的配置文件地址的
[memcached]
extension=memcached.so
#加入上面兩行

最終結果

永川優生活 http://www.yongchuan.cc

重啓服務

service httpd restart

重啓完後打印phpinfo 你將看到 memcached 已經安裝好了。或者

php -m | grep memcached
#你將看到
memcached

永川優生活 https://www.yongchaun.cc

啓動MEMCACHED

/webService/memcached/bin/memcached -d -u www -p 11211 -P /tmp/memcached.pid

若是你機器上沒有安裝telnet的話查看監控不太方便的

yum install telnet-server 
yum install telnet 
#兩條命令下去全Y
而後編輯vi /etc/xinetd.d/telnet 文件
vim /etc/xinetd.d/telnt
#找到disable 查看它是不是no 若是是no 的話要把它改成yes

啓動 telnet

service xinetd start

測試鏈接

telnet 127.0.0.1 11211
#再次輸入stats
stats
STAT pid 32365 #這個就是啓動的進程啦

或者這樣也能夠查看進程

ps -aux | grep memcached

結束進程

kill -9 進程ID

防火牆配置

若是Memcache和Web服務器不是同一臺服務器,那麼或許還須要配置iptables 登陸Memcache服務器,並取得root權限

vim /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -p tcp -s Web服務器1的IP地址 –dport 11211 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -s Web服務器2的IP地址 –dport 11211 -j ACCEPT

關於PHP memcached用法 自行參考:http://php.net/manual/zh/book.memcached.php

memcached 手冊: http://www.yiibai.com/memcached/

相關文章
相關標籤/搜索