您好,登錄后才能下訂單哦!
YUM安裝:
它依賴于libevent,不過這個一般都是系統自帶的。另外我這里把Memcached安裝到一個單獨的服務器,其實生產環境中它也是單獨部署的。
一般epel源中會有memcached,我們來看一下
yum list all memcached*
安裝
rpm -ql memcached 看一下生成的文件
第一個是服務腳本文件、第二個是配置文件、第三個和第四個是工具
啟動,用命令啟動需要指定用戶,YUM安裝時會自動創建memcached用戶。-vv是顯示啟動過程。由于沒有加-d參數,所以是前臺運行。
這里可以看到內存分配過程,默認的內存最大64M,默認chunk大小48字節,增長因子是1.25倍。
第一個是96,后面的10922是說分配了多少個96字節的chunk
第二個是120,它是96的1.25倍,后面的8738是分配了多少個96字節的chunk
后面一次類推。
配置文件的內容也比較少
我們以服務的形式啟動
service memcached start
查看啟動端口
編譯安裝:
從這里下載最新版Memcached:http://memcached.org/
從這里下載libevent:http://libevent.org/
先編譯安裝libevent:因為編譯安裝memcached它會依賴這個庫。
[]# tar -xzf libevent-2.1.8-stable.tar.gz []# cd libevent-2.1.8-stable []# ./configure --prefix=/usr/local/libevent
make && make install
安裝完成
安裝Memcached
[]# tar -xzf memcached1.4.34.tar.gz []# cd memcached1.4.34 []# ./configure --prefix=/usr/local/memcached1.4.34 --with-libevent=/usr/local/libevent/
make && make install
安裝完畢
創建運行賬號
groupadd -r memcached useradd -r -g memcached -s /sbin/nologin memcached
啟動memcached,要切換到安裝目錄中的bin目錄中,因為沒有配置環境變量
./memcached -u memcached -d
添加一個環境變量
這樣以后再執行memcached命令是就不需要切換目錄了
vim /etc/profile.d/memcached.sh 添加下面的內容: #!/bin/bash MC_PATH=/usr/local/memcached1.4.34 export PATH=$PATH:$MC_PATH/bin chmod +x /etc/profile.d/memcached.sh . /etc/profile.d/memcached.sh
驗證一下
設置成系統服務
memcached源碼包中的scripts目錄中自帶這樣一個腳本,拷貝到/etc/rc.d/init.d中即可
cp memcached.sysv /etc/rc.d/init.d/memcached chmod +x /etc/rc.d/memcached chkconfig --add /etc/rc.d/memcached chkconfig --list | grep memcached chkconfig memcached on
下面可以根據你的需要修改一下這個腳本,主要是啟動參數
#! /bin/sh # # chkconfig: - 55 45 # description: The memcached daemon is a network memory cache service. # processname: memcached # config: /etc/sysconfig/memcached # Source function library. . /etc/rc.d/init.d/functions #設置你想要端口 PORT=11211 #設置運行賬號 USER=memcached #指定最大連接數量 MAXCONN=1024 #指定memcached使用的最大內存 CACHESIZE=64 OPTIONS="" #指定安裝路徑 MEMCACHED_BIN_PATH=/usr/local/memcached1.4.34/bin if [ -f /etc/sysconfig/memcached ];then . /etc/sysconfig/memcached fi # Check that networking is up. if [ "$NETWORKING" = "no" ] then exit 0 fi RETVAL=0 prog="memcached" #這里引用了一些變量用于設置啟動參數,你可以自行添加其他啟動參數在這里引用 start () { echo -n $"Starting $prog: " # 確保這個目錄 /var/run/memcached 存在,并且memcached用戶有權限讀寫 chown $USER /var/run/memcached #這里寫全路徑否則找不到,如果你覺得路徑太長你可以寫一個變量在這里引用。 #daemon $MEMCACHED_BIN_PATH/memcached -d -p ...... daemon /usr/local/memcached1.4.34/bin/memcached -d -p $PORT -u $USER -m $CACHESIZE -c $MAXCONN -P /var/run/memcached/memcached.pid $OPTIONS RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/memcached } stop () { echo -n $"Stopping $prog: " killproc memcached RETVAL=$? echo if [ $RETVAL -eq 0 ] ; then rm -f /var/lock/subsys/memcached rm -f /var/run/memcached/memcached.pid fi } restart () { stop start } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status memcached ;; restart|reload) restart ;; condrestart) [ -f /var/lock/subsys/memcached ] && restart || : ;; *) echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}" exit 1 esac exit $?
建立目錄
KILL掉之前啟動的進程,然后我們用服務腳本進行啟動
CentOS 7上的設置
這個文件就在源碼包里面的scripts目錄中
cp memcached.service /usr/lib/systemd/system/
查看拷貝過去的文件
修改該文件,寫成你編譯安裝的路徑
建立配置文件
如果不使用配置文件,你可以像下面這樣寫
啟動服務
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。