高性能メモリオブジェクトキャッシュの構築Memcached
高性能メモリオブジェクトキャッシュMemcached
Memcachedの概要
Memcachedはオープンソースの高性能分散メモリオブジェクトキャッシュシステムで、すべてのデータをメモリに格納します.メモリには巨大なHashテーブルの維持に同意するため、任意のストレージタイプのデータをサポートします.
1、Memcacahedサービスのインストールを学ぶ
1.1 Libeventのインストール
Libeventはプラットフォーム間のイベント処理インタフェースのパッケージであり、複数のオペレーティングシステムのイベントアクセスと互換性があります.MemcachedのインストールはLibeventに依存するため,Libeventのインストールを先に完了する必要がある.
ソースパッケージのマウント
[root@localhost ~]# mount.cifs //192.168.32.1/gongxiang /abc/
Password for root@//192.168.32.1/gongxiang:
[root@localhost ~]# cd /abc/
[root@localhost abc]# ls
all_locales-1.4.18-20090526.tar.gz magent-0.5.tar.gz
apachenk memcache-2.2.7.tgz
apache.sh memcached-1.5.6.tar.gz
apr-1.4.6.tar.gz mongodb-linux-x86_64-rhel70-4.0.0.tgz
apr-1.5.0.tar.gz mysql
apr-util-1.4.1.tar.gz mysql-5.5.24.tar.gz
apr-util-1.5.4.tar.gz nginx-1.15.0.tar.gz
awstats-7.0.zip nginx-1.2.8.tar.gz
awstats-7.6.tar.gz nginx-1.6.0.tar.gz
dage.jpg openssl-1.0.1c.tar.gz
dage.jpg.jpg pcre-8.39.tar.gz
desktop.ini php
Discuz_X2.5_SC_UTF8.zip php-5.4.5.tar.bz2
dnf-dnf-1.1.7-1.tar.gz pxe.sh.txt
epel-release-latest-7.noarch.rpm Red Hat Enterprise 6.5 x86_64.iso
game.jpg rhel-server-7.3-x86_64-dvd.iso
gd-2.0.35.tar.gz sarg-2.3.7.tar.gz
hping-2.0.0-1.rc3.2.el6.rf.i686.rpm shell.sh.txt
httpd-2.4.2.tar.gz snmpd.conf.txt
httpd-2.4.33.tar.gz squid-4.1.tar.gz
inotify-tools-3.14.tar.gz squirrelmail-webmail-1.4.22.tar.gz
john-1.8.0.tar.gz xy.jpg
john,mimapojie ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz
libevent-2.1.8-stable.tar.gz ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz
LNMP
[root@localhost ~] tar xf libevent-2.1.8-stable.tar.gz -C /opt/
[root@localhost libevent-2.1.8-stable] ./configure -prefix/-s/loca//ibeve
[root@localhost libevent-2.1.8-stable] make && make install
1.2インストールMemccachedソースコード方式でMemcachedのコンパイルインストールを行い、インストール時にLibeventのインストール経路を指定する
[root@localhost ~] tar xf memcached-1.5.6.tar.gz -C /opt/
[root@localhost libevent-2.1.8-stable]# cd /opt/memcached-1.5.6/
[root@localhost memcached-1.5.6]# ./configure \
> --prefix=/usr/local/memcached \
> --with-libevent=/usr/local/libevent/
[root@localhost ~] make && make install
# Memcached
[root@localhost memcached-1.5.6] ln -s /usr/local/memcached/bin/* /usr/local/bin/
# Memcached ,-d Memcached ;-m Memcached 32MB , : -u
[root@localhost memcached-1.5.6] memcached -d -m 32m -p 11211 -u root
ポートプロセスがオンになっているかどうかを確認
[root@localhost memcached-1.5.6] netstat -ntap | grep memc
tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 21394/memcached
tcp6 0 0 :::11211 :::* LISTEN 21394/memcached
#
[root@localhost ~] systemctl stop firewalld.service
[root@localhost ~] setenforce 0
2.1 Memcached APIクライアント
プログラムが直接Memcachedライブラリとインタフェースを呼び出すことができるように、Memcached拡張コンポーネントを使用して、MemcachedをPHPのモジュールに追加することができます.この拡張は、Libmemcachedライブラリが提供するAPIを使用して、Memcachedサービス側と対話します.
Autoconfのインストール
[root@localhost ~]# yum install autoconf -y
Memcacheインストールパッケージの解凍
[root@localhost ~]# tar zxvf /abc/memcache-2.2.7.tgz -C /opt/
package.xml
memcache-2.2.7/config.m4
memcache-2.2.7/config9.m4
memcache-2.2.7/config.w32
memcache-2.2.7/CREDITS
memcache-2.2.7/example.php
memcache-2.2.7/memcache.c
memcache-2.2.7/memcache_queue.c
memcache-2.2.7/memcache_session.c
memcache-2.2.7/memcache_standard_hash.c
memcache-2.2.7/memcache_consistent_hash.c
memcache-2.2.7/memcache.dsp
memcache-2.2.7/php_memcache.h
memcache-2.2.7/memcache_queue.h
memcache-2.2.7/README
memcache-2.2.7/memcache.php
# Memcache
[root@localhost ~] cd /opt/memcache-2.2.7/
# configure Memcache configure php configure
[root@localhost memcache-2.2.7] ls
acinclude.m4 config.h.in CREDITS memcache_consistent_hash.c memcache_standard_hash.c
aclocal.m4 config.m4 example.php memcache.dsp missing
autom4te.cache config.sub install-sh memcache.php mkinstalldirs
build configure ltmain.sh memcache_queue.c php_memcache.h
config9.m4 configure.in Makefile.global memcache_queue.h README
# php bin phpize
[root@localhost memcache-2.2.7]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20121113
Zend Module Api No: 20121212
Zend Extension Api No: 220121212
[root@localhost memcache-2.2.7]# ls
acinclude.m4 config.h.in CREDITS memcache_consistent_hash.c memcache_standard_hash.c
aclocal.m4 config.m4 example.php memcache.dsp missing
autom4te.cache config.sub install-sh memcache.php mkinstalldirs
build configure ltmain.sh memcache_queue.c php_memcache.h
config9.m4 configure.in Makefile.global memcache_queue.h README
config.guess config.w32 memcache.c memcache_session.c run-tests.php
# configure
[root@localhost memcache-2.2.7]# ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config
[root@localhost memcache-2.2.7]# make && make install
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/
#make install
phpの下に入るphp.iniプロファイル、次の行を検索して変更し、新しい行(解凍パッケージの下でcp php.ini-development/usr/local/php 5/php.iniを実行していない場合)を追加します.
ln -s/usr/local/php5/bin/*/usr/local/bin/
ln -s/usr/local/php5/sbin/*/usr/local/sbin/)
図
クライアント接続テスト
vi /usr/local/httpd/htdocs/index.php // , memcached
connect('192.168.175.128',11211);
$memcache->set('key','Memcache test Successfull!',0,60);
$result = $memcache->get('key');
unset($memcache);
echo $result;
?>
http://192.168.32.152/index.php//クライアントアドレスの入力テストに成功したか