配置php擴展memcache php
環境說明: html
系統版本 CentOS 6.9 x86_64 nginx
軟件版本 nginx-1.12.2 php-5.5.38 yum安裝memcached1.4.4 web
php擴展memcache2.2.7 MemAdmin1.0.12 數據庫
MemCache是一個自由、源碼開放、高性能、分佈式的分佈式內存對象緩存系統,用於動態Web應用以減輕數據庫的負載。它經過在內存中緩存數據和對象來減小讀取數據庫的次數,從而提升了網站訪問的速度。 MemCaChe是一個存儲鍵值對的HashMap,在內存中對任意的數據(好比字符串、對象等)所使用的key-value存儲,數據能夠來自數據庫調用、API調用,或者頁面渲染的結果。MemCache設計理念就是小而強大,它簡單的設計促進了快速部署、易於開發並解決面對大規模的數據緩存的許多難題,而所開放的API使得MemCache能用於Java、C/C++/C#、Perl、Python、PHP、Ruby等大部分流行的程序語言。 vim
一、數據庫服務器配置memcached 數組
-
[root@db01 ~]# yum install memcached -y #安裝memcached
-
[root@db01 ~]# cat /etc/sysconfig/memcached #查看配置文件,默認便可,不作修改
-
PORT="11211"
-
USER="memcached"
-
MAXCONN="1024"
-
CACHESIZE="64"
-
OPTIONS=""
-
[root@db01 ~]# /etc/init.d/memcached start #啓動
-
Starting memcached: [ OK ]
-
[root@db01 ~]# netstat -lntup|grep 11211 #檢查
-
tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 2478/memcached
-
tcp 0 0 :::11211 :::* LISTEN 2478/memcached
-
udp 0 0 0.0.0.0:11211 0.0.0.0:* 2478/memcached
-
udp 0 0 :::11211 :::* 2478/memcached
二、web服務器配置memcache 瀏覽器
從官方網站下載源碼包或本地上傳http://pecl.php.net/package/memcache 緩存
其中版本號爲3以上的是用於php7以上的,這裏咱們下載2.2.7版本 性能優化
-
[root@Web01 ~]# cd /service/tools/
-
[root@Web01 tools]# wget http://pecl.php.net/get/memcache-3.0.8.tgz #下載源碼包
-
[root@Web01 tools]# tar xf memcache-2.2.7.tgz #解壓
-
[root@Web01 tools]# cd memcache-2.2.7
-
[root@Web01 memcache-2.2.7]# ls
-
config9.m4 CREDITS memcache_consistent_hash.c memcache_queue.c memcache_standard_hash.c
-
config.m4 example.php memcache.dsp memcache_queue.h php_memcache.h
-
config.w32 memcache.c memcache.php memcache_session.c README
-
[root@Web01 memcache-2.2.7]# /application/php/bin/phpize #檢查編譯環境,不作檢查不能執行./configure
-
Configuring for:
-
PHP Api Version: 20121113
-
Zend Module Api No: 20121212
-
Zend Extension Api No: 220121212
-
[root@Web01 memcache-2.2.7]# ./configure --with-php-config=/application/php/bin/php-config --enable-memcache #編譯
-
[root@Web01 memcache-2.2.7]# make && make install
-
[root@Web01 memcache-2.2.7]# ll /application/php5.5.38/lib/php/extensions/no-debug-non-zts-20121212/
-
#檢查
-
memcache.so opcache.a opcache.so
-
[root@Web01 memcache-2.2.7]# find /application/php5.5.38/ -name "php.ini"
-
/application/php5.5.38/etc/php.ini #找出php配置文件php.ini的路徑,默認在etc下,須要拷貝至lib下
-
[root@Web01 memcache-2.2.7]# cp /application/php5.5.38/etc/php.ini /application/php5.5.38/lib/php.ini
-
[root@Web01 memcache-2.2.7]# vim /application/php5.5.38/lib/php.ini #修改配置文件
-
修改718行的內容指定擴展模塊的路徑並添加一行指定擴展模塊名稱
-
718 extension_dir = "/application/php5.5.38/lib/php/extensions/no-debug-non-zts-20121212/"
-
719 extension = "memcache.so"
-
[root@Web01 tools]# pkill php-fpm
-
[root@Web01 tools]# /application/php/sbin/php-fpm
-
[root@Web01 tools]# /application/php/bin/php -m|grep memcache
-
memcache
三、瀏覽器端檢查
以discuz爲例
從新訪問刷新,進入管理中心——>全局———>性能優化——>內存優化,能夠看到已經生效
四、配置開啓服務器優化
編輯站點目錄下config_global.php文件
-
[root@Web01 discuz]# pwd
-
/application/nginx/html/discuz
-
[root@Web01 discuz]# vim config/config_global.php
-
$_config['memory']['memcache']['server'] = '192.168.1.51'; #指定服務器地址
瀏覽器刷新再次訪問,此時已經能夠支持memcache
五、安裝並配置memcache管理界面memadmin
MemAdmin是一款可視化的Memcached管理與監控工具,使用PHP開發,體積小,操做簡單。
主要功能:
服務器參數監控:STATS、SETTINGS、ITEMS、SLABS、SIZES實時刷新
服務器性能監控:GET、DELETE、INCR、DECR、CAS等經常使用操做命中率實時監控
支持數據遍歷,方便對存儲內容進行監視
支持條件查詢,篩選出知足條件的KEY或VALUE
數組、JSON等序列化字符反序列顯示
兼容memcache協議的其餘服務,如Tokyo Tyrant (遍歷功能除外)
支持服務器鏈接池,多服務器管理切換方便簡潔
5.一、下載安裝包並解壓到站點目錄
官方網站下載:http://www.junopen.com/memadmin/
[root@Web01 memadmin]# tar xf memadmin-1.0.12.tar.gz
5.二、修改nginx配置文件指定站點目錄及域名並平滑重啓
-
[root@Web01 memadmin]# nginx -t
-
nginx: the configuration file /application/nginx-1.12.2/conf/nginx.conf syntax is ok
-
nginx: configuration file /application/nginx-1.12.2/conf/nginx.conf test is successful
-
[root@Web01 memadmin]# nginx -s reload
5.三、瀏覽器訪問
根據提示,默認的用戶名和密碼都是admin,能夠在config.php中修改
輸入用戶名密碼登陸並綁定服務器,這裏綁定的是安裝了memcached服務的數據庫服務器192.168.1.51,能夠進行相關操做,圖形化界面操做不做介紹,功能不少,缺乏的只是發現的眼睛
博主原創文章,轉載請務必註明出處