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

一、目的

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

二、脚本

2.1 github地址

github链接

2.2 脚本内容

#!/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

三、测试

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

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

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏移动端周边技术扩展

python收发邮件客户端

29830
来自专栏IT杂记

使用Nginx代理restful实现SSL链路加密

1 目标说明 1.1 调研目的 本次调研主要为了解决两个问题: 不需要对restful的web容器做任何配置,实现对restful链路进行加密; 方便restf...

27190
来自专栏JavaEE

spring整合kaptcha验证码kaptcha简介:开发工具及使用的核心技术:正式开始:

529130
来自专栏云知识学习

如何设置Mysql 加密连接SSL

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供...

575110
来自专栏Ryan Miao

spring boot启用tomcat ssl

首先要生成一个keystore证书。参考:Tomcat创建HTTPS访问,java访问https,ssl证书生成:cer&jks文件生成摘录,spring-bo...

689140
来自专栏LhWorld哥陪你聊算法

【Azkaban搭建】---Azkaban 3.25.0搭建细则 超实用

Azkaban是一个工作流调度工具,因为需要各个任务之间有依赖关系,传统的Crontab 任务已经不能满足。

17650
来自专栏Linyb极客之路

在Spring Boot中使用HTTPS

24320
来自专栏小狼的世界

如何使用GunPGP加密Apple Mail的邮件

我和火星人也很好奇如何能够更安全的传输邮件,所以决定试一试。他的环境是 Linux Ubuntu ,我的环境是 Mac OS X Lion。

17630
来自专栏上善若水

0x02 Emacs常见报错处理

古语有说:工欲善其事,必先利其器; Emacs无疑是编程的神器。通过这一系列的小文章,让我们一起记录熟练使用和打造这一神兵利器。

14550
来自专栏bboysoul

解决esxi主机vmware 无法清除磁盘的报错

今天新安装了esxi主机,这台服务器中有四块硬盘,当然我是把系统安装在u盘上的,在此之前这台服务器安装的是zstack,zstack是安装在四块硬盘中的其中一块...

20240

扫码关注云+社区

领取腾讯云代金券