前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Memcached 安装脚本(附服务器自启动)

Memcached 安装脚本(附服务器自启动)

原创
作者头像
KaliArch
修改2018-04-18 13:52:52
2.5K3
修改2018-04-18 13:52:52
举报
文章被收录于专栏:KaliArchKaliArch

一、目的

为简化Memcached快速安装部署,并添加至服务启动项,开机自启动。

二、脚本

2.1 github地址

github链接

2.2 脚本内容

代码语言:txt
复制
#!/bin/bash

#mail:xuel@anchnet.com

#function:auto install memcached

clea

echo "##########################################"

echo "#       Auto Install Memcached-1.4                          ##"

echo "#       Press Ctrl + C to cancel                                 ##"

echo "#       Any key to continue                                       ##"

echo "##########################################"

read -n 1

softdir="/software"

memcached\_url="http://www.danga.com/memcached/dist/memcached-1.4.0.tar.gz"

libevent\_url="https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz"

sys\_version=$(rpm -q centos-release|cut -d- -f3)



sys\_init() {

[ -f /etc/init.d/functions ] && . /etc/init.d/functions

[ ${sys\_version} != "6" ] && echo "Please use centos6.x" && exit 1

[ $(id -u) != "0" ] && echo "Error: You must be root to run this script" && exit 1

sed -i "s/SELINUX=enforcing/SELINUX=disabled/"  /etc/selinux/config

setenforce 0

yum install -y gcc gcc-c++ wget

}



download\_software() {

if [ ! -d ${softdir} ];then

    mkdir ${softdir} && cd ${softdir}

else

    cd ${softdir}

fi

for software\_url in ${memcached\_url} ${libevent\_url}

do

    wget -c ${software\_url}

    if [ $? -eq 0 ];then

        for software in `ls`

        do

            tar zxf $software -C /tmp

        done

    fi

done

}



install() {

cd /tmp/libevent-2.1.8-stable

./configure --prefix=/usr/local/libevent

make && make install

rm -rf /tmp/libevent-2.1.8-stable 

echo "/usr/local/libevent/lib">/etc/ld.so.conf.d/libevent.conf

ldconfig



cd /tmp/memcached-1.4.0

./configure --with-libevent=/usr/local/libevent --prefix=/usr/local/memcached

make && make install

rm -rf /tmp/memcached-1.4.0

echo "export PATH=$PATH:/usr/local/memcached/bin">/etc/profile.d/memcached.sh && source /etc/profile.d/memcached.sh

}



start\_server() {

cat >/etc/init.d/memcached-server<<EOF

#!/bin/bash

#auth:kaliarch

# memcached    Startup script for memcached processes

#

# chkconfig: - 90 10

# description: Memcache provides fast memory based storage.

# processname: memcached



. /etc/rc.d/init.d/functions



memcached="/usr/local/memcached/bin/memcached"

prog="memcached"

port=11211

user=nobody

mem=20

lockfile=\${LOCKFILE-/var/lock/subsys/memcached}

pidfile=\${PIDFILE-/tmp/memcached.pid}

getpid=\$(pidof memcached)

start() {

    action $"Starting \$prog: " /bin/true

    # Starting memcached with 64MB memory on port 11211 as deamon and user nobody

    \$memcached -d -m \$mem -p \$port -u \$user -P \${pidfile}



    RETVAL=$?

    [ \$RETVAL = 0 ] && touch \${lockfile}

    return \$RETVAL

}



stop() {

    if test "x\${getpid}" != x; then

        action $"Stopping \$prog " /bin/true

        killall memcached

    fi

    RETVAL=\$?

    [ \$RETVAL = 0 ] && rm -rf \${lockfile} \${pidfile}

    return \$RETVAL

}



case "\$1" in

        start)

            start

            ;;



        stop)

            stop

            ;;



        status)

        status -p \${pidfile} \${memcached}

        RETVAL=\$?

            ;;



        restart)

            stop

            start

            ;;

        condrestart)

            if test "x\${getpid}" != x; then

                stop

                start

            fi

            ;;



        \*)

            echo $"Usage: \$0 {start|status|stop|restart|condrestart}"

            exit 1



esac



exit \${RETVAL}

EOF

cd /

chmod +x /etc/init.d/memcached-serve

chkconfig memcached-server on

service memcached-server start

}



main() {

sys\_init

download\_software

install

start\_serve

}



main

三、测试

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、目的
  • 二、脚本
  • 三、测试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档