千家信息网

Memcached (二)YUM安装和编译安装

发表于:2024-10-03 作者:千家信息网编辑
千家信息网最后更新 2024年10月03日,YUM安装:它依赖于libevent,不过这个一般都是系统自带的。另外我这里把Memcached安装到一个单独的服务器,其实生产环境中它也是单独部署的。一般epel源中会有memcached,我们来看
千家信息网最后更新 2024年10月03日Memcached (二)YUM安装和编译安装


YUM安装:

它依赖于libevent,不过这个一般都是系统自带的。另外我这里把Memcached安装到一个单独的服务器,其实生产环境中它也是单独部署的。

一般epel源中会有memcached,我们来看一下

yum list all memcached*

安装

rpm -ql memcached  看一下生成的文件

第一个是服务脚本文件、第二个是配置文件、第三个和第四个是工具

启动,用命令启动需要指定用户,YUM安装时会自动创建memcached用户。-vv是显示启动过程。由于没有加-d参数,所以是前台运行。

这里可以看到内存分配过程,默认的内存最大64M,默认chunk大小48字节,增长因子是1.25倍。

第一个是96,后面的10922是说分配了多少个96字节的chunk

第二个是120,它是961.25倍,后面的8738是分配了多少个96字节的chunk

后面一次类推。

配置文件的内容也比较少

我们以服务的形式启动

service memcached start

查看启动端口


编译安装:

从这里下载最新版Memcached:http://memcached.org/

从这里下载libevent:http://libevent.org/

先编译安装libevent:因为编译安装memcached它会依赖这个库。

[]# 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

安装完毕

创建运行账号

groupadd -r memcacheduseradd -r -g memcached -s /sbin/nologin memcached

启动memcached,要切换到安装目录中的bin目录中,因为没有配置环境变量

./memcached -u memcached -d

添加一个环境变量

这样以后再执行memcached命令是就不需要切换目录了

vim /etc/profile.d/memcached.sh添加下面的内容:#!/bin/bashMC_PATH=/usr/local/memcached1.4.34export PATH=$PATH:$MC_PATH/binchmod +x /etc/profile.d/memcached.sh. /etc/profile.d/memcached.sh

验证一下

设置成系统服务

memcached源码包中的scripts目录中自带这样一个脚本,拷贝到/etc/rc.d/init.d中即可

cp memcached.sysv /etc/rc.d/init.d/memcachedchmod +x /etc/rc.d/memcachedchkconfig --add /etc/rc.d/memcachedchkconfig --list | grep memcachedchkconfig memcached on

下面可以根据你的需要修改一下这个脚本,主要是启动参数

#! /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#设置你想要端口PORT=11211#设置运行账号USER=memcached#指定最大连接数量MAXCONN=1024#指定memcached使用的最大内存CACHESIZE=64OPTIONS=""#指定安装路径MEMCACHED_BIN_PATH=/usr/local/memcached1.4.34/binif [ -f /etc/sysconfig/memcached ];then    . /etc/sysconfig/memcachedfi# Check that networking is up.if [ "$NETWORKING" = "no" ]then    exit 0fiRETVAL=0prog="memcached"#这里引用了一些变量用于设置启动参数,你可以自行添加其他启动参数在这里引用start () {    echo -n $"Starting $prog: "    # 确保这个目录 /var/run/memcached 存在,并且memcached用户有权限读写    chown $USER /var/run/memcached    #这里写全路径否则找不到,如果你觉得路径太长你可以写一个变量在这里引用。    #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 1esacexit $?

建立目录

KILL掉之前启动的进程,然后我们用服务脚本进行启动


CentOS 7上的设置

这个文件就在源码包里面的scripts目录中

cp memcached.service /usr/lib/systemd/system/

查看拷贝过去的文件

修改该文件,写成你编译安装的路径

建立配置文件

如果不使用配置文件,你可以像下面这样写

启动服务

0