YUM安裝:
成都創(chuàng)新互聯(lián)成都網(wǎng)站建設(shè)按需制作,是成都網(wǎng)站建設(shè)公司,為成都三輪攪拌車提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計(jì)服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計(jì)、前端HTML5制作、后臺(tái)程序開發(fā)等。成都網(wǎng)站制作熱線:028-86922220
它依賴于libevent,不過這個(gè)一般都是系統(tǒng)自帶的。另外我這里把Memcached安裝到一個(gè)單獨(dú)的服務(wù)器,其實(shí)生產(chǎn)環(huán)境中它也是單獨(dú)部署的。
一般epel源中會(huì)有memcached,我們來看一下
yum list all memcached*
安裝
rpm -ql memcached 看一下生成的文件
第一個(gè)是服務(wù)腳本文件、第二個(gè)是配置文件、第三個(gè)和第四個(gè)是工具
啟動(dòng),用命令啟動(dòng)需要指定用戶,YUM安裝時(shí)會(huì)自動(dòng)創(chuàng)建memcached用戶。-vv是顯示啟動(dòng)過程。由于沒有加-d參數(shù),所以是前臺(tái)運(yùn)行。
這里可以看到內(nèi)存分配過程,默認(rèn)的內(nèi)存最大64M,默認(rèn)chunk大小48字節(jié),增長(zhǎng)因子是1.25倍。
第一個(gè)是96,后面的10922是說分配了多少個(gè)96字節(jié)的chunk
第二個(gè)是120,它是96的1.25倍,后面的8738是分配了多少個(gè)96字節(jié)的chunk
后面一次類推。
配置文件的內(nèi)容也比較少
我們以服務(wù)的形式啟動(dòng)
service memcached start
查看啟動(dòng)端口
編譯安裝:
從這里下載最新版Memcached:http://memcached.org/
從這里下載libevent:http://libevent.org/
先編譯安裝libevent:因?yàn)榫幾g安裝memcached它會(huì)依賴這個(gè)庫(kù)。
[]# 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
安裝完畢
創(chuàng)建運(yùn)行賬號(hào)
groupadd -r memcached useradd -r -g memcached -s /sbin/nologin memcached
啟動(dòng)memcached,要切換到安裝目錄中的bin目錄中,因?yàn)闆]有配置環(huán)境變量
./memcached -u memcached -d
添加一個(gè)環(huán)境變量
這樣以后再執(zhí)行memcached命令是就不需要切換目錄了
vim /etc/profile.d/memcached.sh 添加下面的內(nèi)容: #!/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
驗(yàn)證一下
設(shè)置成系統(tǒng)服務(wù)
memcached源碼包中的scripts目錄中自帶這樣一個(gè)腳本,拷貝到/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
下面可以根據(jù)你的需要修改一下這個(gè)腳本,主要是啟動(dòng)參數(shù)
#! /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 #設(shè)置你想要端口 PORT=11211 #設(shè)置運(yùn)行賬號(hào) USER=memcached #指定最大連接數(shù)量 MAXCONN=1024 #指定memcached使用的最大內(nèi)存 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" #這里引用了一些變量用于設(shè)置啟動(dòng)參數(shù),你可以自行添加其他啟動(dòng)參數(shù)在這里引用 start () { echo -n $"Starting $prog: " # 確保這個(gè)目錄 /var/run/memcached 存在,并且memcached用戶有權(quán)限讀寫 chown $USER /var/run/memcached #這里寫全路徑否則找不到,如果你覺得路徑太長(zhǎng)你可以寫一個(gè)變量在這里引用。 #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掉之前啟動(dòng)的進(jìn)程,然后我們用服務(wù)腳本進(jìn)行啟動(dòng)
CentOS 7上的設(shè)置
這個(gè)文件就在源碼包里面的scripts目錄中
cp memcached.service /usr/lib/systemd/system/
查看拷貝過去的文件
修改該文件,寫成你編譯安裝的路徑
建立配置文件
如果不使用配置文件,你可以像下面這樣寫
啟動(dòng)服務(wù)