编译安装Memcached

安装依赖

在Linux下编译,需要gcc、make、cmake、autoconf、libtool、libevent等工具,在Linux联网状态下我们可以使用yum命令来安装锁需要的依赖

yum -y install gcc gcc-c++ make cmake autoconf libtool libevent libevent-devel

注意:若不能连接外网安装包可下载源码包后进行编译安装

去官网libevent 下载源码包,我用的是libevent-2.0.20-stable.tar.gz 

解压到/usr/src目录 ,执行命令:tar -zxvf libevent-2.0.20-stable.tar.gz -C /usr/src

3.进入解压以后的目录,编译安装:./configure --prefix=/usr/local/libevent ; make && make install

编译安装Memcached

# 切换到资源包目录(我个人所有的资源包都是放在/usr/local/src目录下)
cd /usr/local/src

# 下载Memcached
wget http://www.memcached.org/files/memcached-1.6.6.tar.gz

# 解压
tar -zxvf memcached-1.6.6.tar.gz

# 编译 && 安装
./configure --prefix=/usr/local/memcached-1.6.6
make && make install

# 创建memcached的软连接
ln -s memcached-1.6.6 memcached

创建软链接的好处

为什么要创建软连接?因为以后可能会升级到其它版本,在环境变量和开机自启这些地方都使用软连接,这样可以方便以后升级的时候只需要删除旧的软连接重新对新版本创建一个软连接就好了,不需要在去到环境变量和开机自启的这些配置的地方再去修改。

配置环境变量

编辑/etc/profile文件,/usr/local/memcached/bin添加到环境变量中

export PATH="$PATH:/usr/local/memcached/bin"

添加后执行source /etc/profile使修改立即生效

systemctl管理memcached

在CentOS7中使用systemctl来管理

首先我们来看一下使用yum方式安装的memcached都做了啥

  1. 创建一个sbin/nologin类型的名为memcached的用户

    useradd memcached -s /sbin/nologin -M
    
  2. 安装memcached并采用systemctl来管理,memcached.service文件内容如下

    [Unit]
    Description=Memcached 
    Before=httpd.service
    After=network.target
    
    [Service]
    Type=simple
    EnvironmentFile=-/etc/sysconfig/memcached
    ExecStart=/usr/bin/memcached -u $USER -p $PORT -m $CACHESIZE -c $MAXCONN $OPTIONS
    
    [Install]
    WantedBy=multi-user.target
    
  3. 配置文件放在/etc/sysconfig/memcached

    PORT="11211"
    USER="memcached"
    MAXCONN="1024"
    CACHESIZE="64"
    OPTIONS=""
    

我们使用的是编译安装,不过我们可以仿照yum方式的行为来管理我们自己编译安装的Memcached服务

首先,创建一个memcached用户,专门用来管理memcached服务

useradd memcached -s /sbin/nologin -M

然后在我们的memcached安装目录下创建一个配置文件,添加我们自己的个人配置

# 创建配置目录
mkdir /usr/local/memcached/conf
touch /usr/local/memcached/conf/memcached

# 修改文件所属用户和组
chown -R memcached:memcached /usr/local/memcached/conf/memcached

# 在/usr/local/memcached/conf/memcached文件中添加如下内容
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""

然后,在/usr/lib/systemd/system/目录下创建一个memcached.service文件

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

并在memcached.service添加如下内容(就是把yum方式的EnvironmentFile和启动路径改了)

[Unit]
Description=Memcached 
Before=httpd.service
After=network.target

[Service]
Type=simple
EnvironmentFile=-/usr/local/memcached/conf/memcached
ExecStart=/usr/local/memcached/bin/memcached -u $USER -p $PORT -m $CACHESIZE -c $MAXCONN $OPTIONS

[Install]
WantedBy=multi-user.target

重载daemon

执行下面的命令重新载入 systemd,扫描新的或有变动的单元

systemctl daemon-reload

开机自启

systemctl enable memcached.service # 设置开机自启
systemctl disable memcached.service # 取消开机自启服务

memcached管理常用命令

systemctl status memcached.service  # 查看Memcached状态
systemctl start memcached.service   # 开启Memcached
systemctl stop memcached.service    # 关闭Memcached
systemctl reload memcached.service  # 重载配置
systemctl restart memcached.service # 重启Memcached(相当于stop&start)

可以使用lsof -i:端口号查看Memcached服务

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值