Linux下memcache的安裝和啟動


memcache是高性能,分布式的內存對象緩存系統,用於在動態應用中減少數據庫負載,提升訪問速度。據說官方所說,其用戶包括twitter、digg、flickr等,都是些互聯網大腕呀。目前用memcache解決互聯網上的大用戶讀取是非常流行的一種用法。

 

編譯錯誤:
libmemcached/auto.cc: In function 'memcached_return_t text_incr_decr(memcached_server_st*, bool, const char*, size_t, uint64_t, bool)':
libmemcached/auto.cc:73: error: expected `)' before 'PRIu64'

In file included from ./libmemcached/common.h:72,
from ./libmemcached/csl/common.h:40,
from libmemcached/csl/context.cc:38:
./libmemcached-1.0/memcached.h:46:27: error: tr1/cinttypes: No such file or directory

升級GCC

# yum install gcc44 gcc44-c++ libstdc++44-devel

# export CC=/usr/bin/gcc44

# export CXX=/usr/bin/g++44

 

安裝libmemcached

tar zxvf libmemcached-0.42.tar.gz

cd libmemcached-0.42
./configure –-prefix=/usr/local/libmemcached –-with-memcached
make && make install

 


4. 安裝php的memcache擴展


可以使用php自帶的pecl安裝程序
# /usr/local/servers/php5/bin/pecl install memcache


也可以從源碼安裝
# tar zxf memcache-2.2.3.tgz
# cd memcache-2.2.3
# /usr/local/servers/php5/bin/phpize
# ./configure --enable-memcache=/usr/local/servers/memcached --with-php-config=/usr/local/servers/php5/bin/php-config --with-apxs2=/usr/sbin/apxs
# make && make inst

 

 


下載安裝

下載了,我到了其官方(http://memcached.org/),目前最新的下載版本是1.4.5

還要再安裝libevent這個軟件,從官方(http://monkey.org/~provos/libevent/)下載,目前最新的穩定版是1.4.14。

下載后,將其上傳到了/home/blue/下面

執行以下命令

復制代碼
cd /home/blue
tar zxvf memcached-1.4.5.tar.gz
tar zxvf libevent-1.4.14b-stable.tar.gz
#安裝libevent
cd libevent-1.4.14b-stable
./configure --prefix=/home/liuzhy/libevent-1.4.14b-stable
make
make install

#安裝memcache
cd /home/blue/memcached-1.4.5
./configure --prefix=/home/blue/memcached-1.4.5 --with-libevent=/home/blue/libevent-1.4.14b
make
make install
復制代碼

啟動memcache服務

進入bin目錄,執行:./memcached -d -m 1024 -u blue,但是系統說有一個共享庫沒有加載,共享庫的名稱為:libevent-1.4.so.2

首先要查看一下memcached 這個命令用到的鏈接庫地址在哪兒。執行如下命令可以查看:

LD_DEBUG=libs /usr/local/memcached/bin/memcached -v

 

顯示出memcache從哪些地方找libevent-1.4.so.2這個文件,所以,我們只有將libevent-1.4.so.2這個文件指定到上面任意一個目錄即可。這里我們將其指定到/lib64/下面。做一個軟連接即可。命令如下:

ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2

在啟動一下memcache服務:./memcached -d -m 1024 -u blue就可以了

下面將memcached命令的參數羅倫如下,

復制代碼
# /usr/local/bin/memcached -d -m 200 -u root -l 192.168.1.91 -p 12301 -c 1000 -P /tmp/memcached.pid
相關解釋如下:
-d選項是啟動一個守護進程,
-m是分配給Memcache使用的內存數量,單位是MB,這里是200MB
-u是運行Memcache的用戶,如果當前為 root 的話,需要使用此參數指定用戶。
-l是監聽的服務器IP地址,如果有多個地址的話,我這里指定了服務器的IP地址192.168.1.91
-p是設置Memcache監聽的端口,我這里設置了12301,最好是1024以上的端口
-c選項是最大運行的並發連接數,默認是1024,這里設置了256
-P是設置保存Memcache的pid文件,我這里是保存在 /tmp/memcached.pid
停止Memcache進程:
# kill `cat /tmp/memcached.pid`
也可以啟動多個守護進程,但是端口不能重復
復制代碼
一開始說的“-d”參數需要進行進一步的解釋

-d install 安裝memcached
-d uninstall 卸載memcached
-d start 啟動memcached服務
-d restart 重啟memcached服務
-d stop 停止memcached服務
-d shutdown 停止memcached服務
檢查服務:

1、查看啟動的memcache服務:

netstat -lp | grep memcached
2、查看memcache的進程號(根據進程號,可以結束memcache服務:“kill -9 進程號”)

ps -ef | grep memcached


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM