CentOS install MemCache
CentOS编译安装MemCache
#!/bin/sh
# Description: 安装memcached-1.4.36
SOFTWARE_DIR='/root/'
# ERROR Output
error_echo(){
printf "\033[31m $* \033[0m\n"
}
# 安装memcached依赖包
memcached_package_install(){
cd ${SOFTWARE_DIR} && tar zxf libevent-2.1.8-stable.tar.gz -C /usr/src/ && cd /usr/src/libevent-2.1.8-stable/ && ./configure --prefix=/usr/local/libevent && make && make install
cd ${SOFTWARE_DIR} && tar zxf libmemcached-1.0.18.tar.gz -C /usr/src/ && cd /usr/src/libmemcached-1.0.18/ && ./configure --prefix=/usr/local/libmemcached --with-memcached && make && make install
}
# 创建memcached用户
memcached_user_create(){
groupadd memcached
useradd -s /sbin/nologin -M -g memcached memcached
mkdir -p /data/memcached/
chown -R memcached:memcached /data/memcached/
}
# 安装memcached
memcached_install(){
cd ${SOFTWARE_DIR} && tar zxf memcached-1.4.36.tar.gz -C /usr/src/ && cd /usr/src/memcached-1.4.36/
./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent --enable-64bit --disable-docs && make && make install
ln -s /usr/local/memcached/bin/memcached /usr/bin/memcached
}
# 配置memcached
memcached_config(){
cd ${SOFTWARE_DIR}
\cp -r memcached.init /etc/init.d/memcached && dos2unix /etc/init.d/memcached
chmod a+x /etc/init.d/memcached
chkconfig --add redis && chkconfig --level 2345 redis on
}
main(){
memcached_package_install;
memcached_install;
memcached_config;
if [ $? -eq 0 ]; then
/etc/init.d/memcached start
echo "memcached install successfully !!!"
else
error_echo "memcached install failed !!!"
fi
}
main
#!/bin/sh # chkconfig: 2345 10 90 # Description: Start and Stop MemCached # Provides: memcached # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Source function library. . /etc/rc.d/init.d/functions RETVAL=0 NAME=memcache PORT=11211 USER=memcached MAXCONN=1024 CACHESIZE=512 OPTIONS="127.0.0.1" MEMCACHED="/usr/local/memcached/bin/memcached" PID="/data/memcached/memcache.pid" start() { if [ -e $PID -a ! -z $PID ];then echo $NAME "is already running..." exit 1 fi echo -n $"Starting $NAME " #$MEMCACHED -d -m $CACHESIZE -u $USER -l $OPTIONS -p $PORT -c $MAXCONN -P $PID $MEMCACHED -d -m $CACHESIZE -u $USER -p $PORT -c $MAXCONN -P $PID RETVAL=$? [ $RETVAL -eq 0 ] && { touch /var/lock/subsys/$NAME success $"$NAME" } echo return $RETVAL } stop(){ echo -n $"Stopping $NAME " if [ ! -r $PID ] ; then echo "" echo $NAME "is not running..." exit 1 fi kill -QUIT `cat $PID` success $"$NAME" echo [ $RETVAL = 0 ] && rm -f $PID /var/lock/subsys/$NAME RETVAL=$? return $RETVAL } case "$1" in start) start ;; stop) stop ;; status) status $NAME RETVAL=$? ;; restart) sleep 0.3 $0 stop sleep 1 $0 start ;; *) echo $"Usage: $0 {start|stop|status|restart}" exit 1 esac exit $RETVAL

浙公网安备 33010602011771号