memcachedインストールの導入
5666 ワード
一、memcachedインストール配置
1、環境紹介
システム環境:Red HatEnterprise Linux Server release 6.2(Santiago)
カーネルバージョン:Linux zxt-02.com2.6.32-220.el6.x86_64 #1 SMP Wed Nov 9 08:03:13 EST 2011 x86_64 x86_64 x86_64 GNU/Linux
ソフトウェアバージョン:libevent-2.0.21-stable.tar.gz;memcached-1.4.20.tar.gz;
ホスト名:
ホストIP:192.168.1.1101
インストールに必要なソフトウェア環境:
libevent-2.0.21-stable.tar.gz
2、Memcacheをダウンロードする
サーバ側は主にmemcacheをインストールサーバ側である.
ダウンロード:http://www.danga.com/memcached/dist/memcached-1.4.20.tar.gz
また、MemcacheはlibeventというライブラリをSocketの処理に使用しているので、libeventをインストールする必要があります.(システムにlibeventがインストールされている場合は、インストールしなくてもいいです)
公式サイト:http://www.monkey.org/~provos/libevent/
ダウンロード:http://www.monkey.org/~provos/libevent-2.0.21-stable.tar.gz
wgetコマンドでこの2つのものを直接ダウンロードします.ソースファイルをダウンロードします.# cd /sfot
# wget http://www.danga.com/memcached/dist/memcached-1.4.20.tar.gz
# wget http://www.monkey.org/~provos/libevent-2.0.21-stable.tar.gz
2.1.libeventのインストール
これは構成時にインストールパスを指定する必要があります.
インストール手順は以下のlibeventです.# tar zxvf libevent-2.0.21-stable.tar.gz
# cd libevent-2.0
# ./configure --prefix=/usr
# make
# make install
2.2.libeventが正常にインストールされたかどうかをテストする
# ls -al /usr/lib | grep libevent
lrwxrwxrwx. 1 root root 21 Nov 19 13:16 libevent-2.0.so.5 ->libevent-2.0.so.5.1.9
-rwxr-xr-x. 1 root root 968722 Nov 19 13:16 libevent-2.0.so.5.1.9
-rw-r--r--. 1 root root 1571722 Nov 19 13:16 libevent.a
lrwxrwxrwx. 1 root root 26 Nov 19 13:16 libevent_core-2.0.so.5-> libevent_core-2.0.so.5.1.9
-rwxr-xr-x. 1 root root 585265 Nov 19 13:16 libevent_core-2.0.so.5.1.9
-rw-r--r--. 1 root root 978426 Nov 19 13:16 libevent_core.a
-rwxr-xr-x. 1 root root 970 Nov 19 13:16 libevent_core.la
lrwxrwxrwx. 1 root root 26 Nov 19 13:16 libevent_core.so ->libevent_core-2.0.so.5.1.9
lrwxrwxrwx. 1 root root 27 Nov 19 13:16 libevent_extra-2.0.so.5-> libevent_extra-2.0.so.5.1.9
-rwxr-xr-x. 1 root root 404852 Nov 19 13:16 libevent_extra-2.0.so.5.1.9
-rw-r--r--. 1 root root 593368 Nov 19 13:16 libevent_extra.a
-rwxr-xr-x. 1 root root 977 Nov 19 13:16 libevent_extra.la
lrwxrwxrwx. 1 root root 27 Nov 19 13:16 libevent_extra.so ->libevent_extra-2.0.so.5.1.9
-rwxr-xr-x. 1 root root 935 Nov 19 13:16 libevent.la
lrwxrwxrwx. 1 root root 30 Nov 19 13:16libevent_pthreads-2.0.so.5 -> libevent_pthreads-2.0.so.5.1.9
-rwxr-xr-x. 1 root root 18430 Nov 19 13:16 libevent_pthreads-2.0.so.5.1.9
-rw-r--r--. 1 root root 18670 Nov 19 13:16 libevent_pthreads.a
-rwxr-xr-x. 1 root root 998 Nov 19 13:16 libevent_pthreads.la
lrwxrwxrwx. 1 root root 30 Nov 19 13:16 libevent_pthreads.so-> libevent_pthreads-2.0.so.5.1.9
lrwxrwxrwx. 1 root root 21 Nov 19 13:16 libevent.so ->libevent-2.0.so.5.1.9
図に示すように、インストールに成功しました.
3、memcachedのインストール
memcachedをインストールする場合は、構成時にlibeventのインストールパスを指定する必要があります.
3.1、memcachedのインストール
# cd /soft
# tar zxvf memcached-1.4.20.tar.gz
# cd memcached-1.4.20
# ./configure --with-libevent=/usr
# make
# make install
エラーが発生した場合は、エラー情報をよく確認し、エラー情報に従ってライブラリまたはパスを構成または追加します.
インストールが完了するとmemcachedを/usr/local/bin/memcachedに置き、
3.2.memcachedが正常にインストールされたかどうかをテストする
#ls -al/usr/local/bin/mem*
-rwxr-xr-x.1 root root 341840 Nov 19 13:18 /usr/local/bin/memcached
4、Memcachedサービスを起動する:
4.1.Memcacheのサーバーを起動する:
#/usr/local/bin/memcached -d -m 10 -u root -l192.168.1.101 -p 12000 -c 256 -P /tmp/memcached.pid
-dオプションは、デーモンプロセスを開始することです.
-mはMemcacheに割り当てられたメモリの数で、単位はMBで、私はここで10 MBです.
-uはMemcacheを実行しているユーザーです.私はrootです.
-lは傍受するサーバのIPアドレスで、もし複数のアドレスがあれば、私はここでサーバのIPアドレス192.168.0.200を指定しました.
-pはMemcacheリスニングを設定するポートです.ここには12000が設定されています.1024以上のポートが望ましいです.
-cオプションは最大実行の同時接続数で、デフォルトは1024で、私はここで256を設定して、あなたのサーバーの負荷量によって設定します.
-PはMemcacheを保存するためのpidファイルです.ここでは/tmp/memcachedに保存します.pid,
4.2.Memcacheプロセスの終了
# kill `cat /tmp/memcached.pid`
複数のデーモンプロセスを開始することもできますが、ポートは重複できません.
5、Memcachedのテスト
# telnet 192.168.1.101 12000
Trying192.168.141.64...
Connectedto 192.168.141.64 (192.168.141.64).
Escapecharacter is '^]'.
setkey1 0 60 4
zhou
STORED
getkey1
VALUEkey1 0 4
zhou
END
これでMemcachedのインストールに成功しました!
6、よくある質問:
6.1、問題一:
Memcachedサービスを起動したときに遭遇したら/usr/local/bin/memcached:error while loading shared libraries: libevent-1.2.so.1: cannot open sharedobject file: No such file or directory;
ソリューション:[root@localhost bin]# LD_DEBUG=libsmemcached -v
[root@localhost bin]# ln -s/usr/lib/libevent-1.2.so.1 /usr/lib64/libevent-1.2.so.1
[root@localhost bin]#/usr/local/bin/memcached -d -m 100 -u root -p 12000 -c 1000 -P/tmp/memcached.pid
[root@localhost bin]# ps -aux
起動したMemcachedサービスが見えます.
6.1、問題二:
MemcachedサービスをLinuxの起動項目にロードする.万一機械の電源が切れるシステムが再起動した場合.Memcachedは自動的に起動します
Memcacheを起動するサーバー側のコマンドは次のとおりです.# /usr/local/bin/memcached -d -m 10 -u root-l 192.168.141.64 -p 12000 -c 256 -P /tmp/memcached.pid
電源を入れて自動的に起動するには/etc/rc.d/rc.localに行を追加します.次のコマンド
/usr/local/memcached/bin/memcached -d -m 10-p 12000 -u apache -c 256
ipはタイミングを指さず、デフォルトはネイティブ、ユーザー:apacheまたはdeamonを選択したほうがいい
このように,どのユーザに属するサービスが,どのユーザによって開始されるかということである.
初心者の旅立ちには不都合な点をご指摘くださいますようお願い申し上げます
# cd /sfot
# wget http://www.danga.com/memcached/dist/memcached-1.4.20.tar.gz
# wget http://www.monkey.org/~provos/libevent-2.0.21-stable.tar.gz
# tar zxvf libevent-2.0.21-stable.tar.gz
# cd libevent-2.0
# ./configure --prefix=/usr
# make
# make install
# ls -al /usr/lib | grep libevent
lrwxrwxrwx. 1 root root 21 Nov 19 13:16 libevent-2.0.so.5 ->libevent-2.0.so.5.1.9
-rwxr-xr-x. 1 root root 968722 Nov 19 13:16 libevent-2.0.so.5.1.9
-rw-r--r--. 1 root root 1571722 Nov 19 13:16 libevent.a
lrwxrwxrwx. 1 root root 26 Nov 19 13:16 libevent_core-2.0.so.5-> libevent_core-2.0.so.5.1.9
-rwxr-xr-x. 1 root root 585265 Nov 19 13:16 libevent_core-2.0.so.5.1.9
-rw-r--r--. 1 root root 978426 Nov 19 13:16 libevent_core.a
-rwxr-xr-x. 1 root root 970 Nov 19 13:16 libevent_core.la
lrwxrwxrwx. 1 root root 26 Nov 19 13:16 libevent_core.so ->libevent_core-2.0.so.5.1.9
lrwxrwxrwx. 1 root root 27 Nov 19 13:16 libevent_extra-2.0.so.5-> libevent_extra-2.0.so.5.1.9
-rwxr-xr-x. 1 root root 404852 Nov 19 13:16 libevent_extra-2.0.so.5.1.9
-rw-r--r--. 1 root root 593368 Nov 19 13:16 libevent_extra.a
-rwxr-xr-x. 1 root root 977 Nov 19 13:16 libevent_extra.la
lrwxrwxrwx. 1 root root 27 Nov 19 13:16 libevent_extra.so ->libevent_extra-2.0.so.5.1.9
-rwxr-xr-x. 1 root root 935 Nov 19 13:16 libevent.la
lrwxrwxrwx. 1 root root 30 Nov 19 13:16libevent_pthreads-2.0.so.5 -> libevent_pthreads-2.0.so.5.1.9
-rwxr-xr-x. 1 root root 18430 Nov 19 13:16 libevent_pthreads-2.0.so.5.1.9
-rw-r--r--. 1 root root 18670 Nov 19 13:16 libevent_pthreads.a
-rwxr-xr-x. 1 root root 998 Nov 19 13:16 libevent_pthreads.la
lrwxrwxrwx. 1 root root 30 Nov 19 13:16 libevent_pthreads.so-> libevent_pthreads-2.0.so.5.1.9
lrwxrwxrwx. 1 root root 21 Nov 19 13:16 libevent.so ->libevent-2.0.so.5.1.9
# cd /soft
# tar zxvf memcached-1.4.20.tar.gz
# cd memcached-1.4.20
# ./configure --with-libevent=/usr
# make
# make install
#ls -al/usr/local/bin/mem*
-rwxr-xr-x.1 root root 341840 Nov 19 13:18 /usr/local/bin/memcached
#/usr/local/bin/memcached -d -m 10 -u root -l192.168.1.101 -p 12000 -c 256 -P /tmp/memcached.pid
# kill `cat /tmp/memcached.pid`
# telnet 192.168.1.101 12000
Trying192.168.141.64...
Connectedto 192.168.141.64 (192.168.141.64).
Escapecharacter is '^]'.
setkey1 0 60 4
zhou
STORED
getkey1
VALUEkey1 0 4
zhou
END
/usr/local/bin/memcached:error while loading shared libraries: libevent-1.2.so.1: cannot open sharedobject file: No such file or directory;
[root@localhost bin]# LD_DEBUG=libsmemcached -v
[root@localhost bin]# ln -s/usr/lib/libevent-1.2.so.1 /usr/lib64/libevent-1.2.so.1
[root@localhost bin]#/usr/local/bin/memcached -d -m 100 -u root -p 12000 -c 1000 -P/tmp/memcached.pid
[root@localhost bin]# ps -aux
# /usr/local/bin/memcached -d -m 10 -u root-l 192.168.141.64 -p 12000 -c 256 -P /tmp/memcached.pid