天天看點

Red Hat Enterprise 5 server 上安裝 memcached 的問題記錄

1          所有工具的安裝,選擇具有管理者權限的使用者進行

2          工具的版本:

名稱

版本

下載下傳位址

memcached

1.4.13

<a href="http://memcached.org/">http://memcached.org/</a>

libevent

2.0.16-stable

<a href="https://github.com/downloads/libevent/libevent/libevent-2.0.16-stable.tar.gz">https://github.com/downloads/libevent/libevent/libevent-2.0.16-stable.tar.gz</a>

3          遇到的問題及解決方法

          i.             安裝memcache 時提示需要安裝libevent

直接G一下,下載下傳2.0.16-stable,依次執行

tar zxvf libevent-2.0.16-stable.tar.gz

cd ./libevent-2.0.16-stable

./configure

make install clean

經過上述步驟,根據執行的結果得知libevent 被安裝到: /usr/local/lib 中

【說明】也可通過 ls –aR| grep libevent 找到路徑位址。結果如下,表示已安裝了

Red Hat Enterprise 5 server 上安裝 memcached 的問題記錄

        ii.             執行memcached 的make 時,出現錯誤:

error: `IOV_MAX' undeclared (first use in this function)

網上搜尋到的答案,忘記位址了,&gt;_&lt; 汗一個

【原因】 memcache.c 對該系統 red hatenterprise 5 server 的偵測錯誤,導緻宏 IOV_MAX 未定義

【解決方法】 手動修改檔案 memcache.c,定義 IOV_MAX

【實施步驟】 用vi打開memcache.c 檔案,注釋掉57及59行,修改結果如下

Red Hat Enterprise 5 server 上安裝 memcached 的問題記錄

【技巧】打開vi後,可用set nu 打開行号标簽

       iii.             啟動memcached 時,提示找不到libevent 庫位置

memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

【原因】使用 LD_DEBUG=libs/usr/local/bin/memcached –v 可檢視庫檔案的搜尋路徑,memcached 要求libevnet 的路徑是 /usr/lib/libevent.2.0.so.5,

而libevent 實際安裝路徑為:/usr/local/bin/libevent.2.0.so.5

【解決方法】想辦法讓memcached 找到libevent的安裝路徑

【操作方法】根據網上的說法,找到幾種方法,最簡單的是軟連接配接

1、  建立軟連接配接

#ln -s /usr/local/lib/libevent.2.0.so.5/usr/lib/libevent.2.0.so.5

缺點:隻對目前使用者有效

2、  建立memcached.conf 檔案并注冊

【說明】此方法并未測試,網上見到的

    步驟1:cd/etc/ld.so.conf.d。

步驟2:vi memcached.conf 這裡的memcached.conf是不存在的,是我自己建立的。

步驟3:在memcached.conf理添加一行 /usr/local/lib表示libevent-1.4.so.2的路徑。

步驟4:ldconfig表示向系統注冊配置檔案

Ok,解決掉上述問題後,memcached 即可啟動了

enjoy it!

繼續閱讀