作为程序员一定要保持良好的睡眠,才能好编程

linux安装memcached步骤及注意细节

发布时间:2016-10-25

众所周知,现流行的no-sql产品有 memcached、redis、mogodb产品,

今天我们就来学习一下 memcached这个老牌的缓存服务器。


学习memcached首先是需要进行安装,今天主要看看linux下如何安装:

步骤:

1、下载源码包

    打开网站进行下载  打开网站:http://memcached.org/

        1.png

    点击 Downloads 进行下载  http://memcached.org/files/memcached-1.4.32.tar.gz

    wget http://memcached.org/files/memcached-1.4.32.tar.gz

    先把安装包下载好


  

    

    安装 memcache 依赖 libevent 首先检查是否已经安装,

    rpm -qa | grep libevent  

    如果已经安装了,那么查看它的安装目录: rqm -ql | grep libevent

    1、下载libevent

        wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz

        wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz

        以上两上链接地址都可以

13.png

14.png

   2、解压

        tar -xzvf libevent-2.0.22.stable.tar.gz

    15.png


   3、进入目录 并编译

        cd  libevent-2.0.22

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


    4、安装

        make && make install

    16.png

        

通过以上的配置 libevent 安装成功!



安装memcached :

wget http://memcached.org/files/memcached-1.4.32.tar.gz

21.png


解压:

tar -xzvf memcached-1.4.32.tar.gz

cd memcached-1.4.32


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


说明:--with-libevent=/usr/local/libevent  和libevent 安装目录保持一致。

22.png


make && make install


23.png


24.png



进入bin 目录,启动memcached

./memcached -d -m 1024 -u root

以root身份启动 memcached 进程 内存最大使用1024M

25.png 


netstat -lp | grep memcached


查看是否启动memcached进程


memcache2.jpg


ps -ef | grep memcached 查看进程  可以使用 kill -9 进程ID  杀死进程。


启动参数介绍如下:

-d选项是启动一个守护进程,

-m是分配给Memcache使用的内存数量,单位是MB,这里是10MB,

-u是运行Memcache的用户,这里是root,

-l是监听的服务器IP地址,如果有多个地址的话,这里指定了服务器的IP地址192.168.0.200,

-p是设置Memcache监听的端口,这里设置了12000,最好是1024以上的端口,

-c选项是最大运行的并发连接数,默认是1024,这里设置了256,按照服务器的负载量来设定,

-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,也可以启动多个守护进程,不过端口不能重复。

-d install 安装memcached
-d uninstall 卸载memcached
-d start 启动memcached服务
-d restart 重启memcached服务
-d stop 停止memcached服务
-d shutdown 停止memcached服务



#!/bin/sh
echo "Start to start memcached server $(date)..."
MEMCACHED=/usr/local/memcached/bin/memcached
usage()
{
     echo "usage: `basename $0` port"
}
if [ -n "$1" ]
then
{
     pid=`ps aux|grep memcached|grep "$1" |grep -v grep|awk '{print $2}'`
     if [ -n "$pid" ]
     then
     {
          sleep 2
          echo "kill memcached which port is $1 begin"
          echo "pid:$pid"
          kill -9 $pid
          echo "kill memcached which port is $1 end"
          sleep 2
     }
     fi
     echo "begin to start memcached in port $1"
     LOG_FILE=/var/log/memcached/memcached_$1.log
     rm -f $LOG_FILE
     $MEMCACHED -d -m 2048 -p $1 -u root -vv >> $LOG_FILE 2>&1
     echo "start memcached end"
     tail -f $LOG_FILE
}
else
{
     usage
     exit 1
}
fi


Shell代码

把该脚本命名为startup.sh

执行:./startup.sh 11211

其中11211为memcached的启动端口,也可以通过自定义的端口来启动