HCRM博客

如何在CentOS上安装Memcached?

CentOS 安装 Memcached 详细指南

前言

如何在CentOS上安装Memcached?-图1
(图片来源网络,侵权删除)

本文旨在详细介绍如何在 CentOS 系统上安装和配置 Memcached,包括其依赖库 libevent 的安装、Memcached 的配置与启动、以及如何通过 Telnet 进行基本的增删改查操作,内容全面且逻辑清晰,适合初学者和有一定基础的用户参考。

前提条件

在开始之前,请确保你以拥有 sudo 权限的用户身份登录系统,如果没有,请联系系统管理员获取相应权限。

二、安装 Memcached 及其依赖库 libevent

1. 下载并安装 libevent

下载安装包:需要从官方网站下载 libevent 的稳定版本,这里我们下载的是libevent2.1.12stable.tar.gz(实际下载时请根据官网最新版本进行选择)。

上传文件:使用 Xshell 中的 Xftp 功能,将下载好的安装包上传至虚拟机的/home/root/ 文件夹中。

如何在CentOS上安装Memcached?-图2
(图片来源网络,侵权删除)

解压安装包:执行以下命令进入安装包所在目录,并解压:

cd /home/root/
tar zxvf libevent2.1.12stable.tar.gz C /home/root/apps

进入目录:解压后,进入libevent2.1.12stable 目录。

安装:执行以下命令进行安装:

./configure prefix=/usr/local/libevent
make
sudo make install

如果遇到错误提示需要安装 gcc 等依赖,请执行:

sudo yum y install gcc gccc++ autoconf pcre pcredevel make automake

对于 openssl 依赖问题,执行:

sudo yum install openssldevel

再次运行./configure prefix=/usr/local/libevent,然后继续makesudo make install

测试 libevent 是否安装成功:可以通过以下命令检查:

ls al /usr/lib | grep libevent

ls al /usr/local/lib | grep libevent

2. 下载并安装 Memcached

下载安装包:同样地,从 [Memcached 官方网站](https://memcached.org/downloads) 下载最新的稳定版本(如memcached1.6.12.tar.gz)。

上传并解压:使用 Xftp 上传至/home/root/ 文件夹,并解压:

tar zxvf memcached1.6.12.tar.gz C /home/root/apps/

配置、编译和安装:进入memcached1.6.12 目录,执行以下命令:

./configure prefix=/usr/local/memcached withlibevent=/usr/local/libevent/
make
sudo make install

注意:如果出现错误提示未找到 libevent 库,请确保withlibevent 参数正确指向 libevent 的安装路径。

设置环境变量:为了方便使用 Memcached,可以将其添加到系统的环境变量中:

vi /etc/profile

在文件末尾添加:

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

然后执行source /etc/profile 使更改生效。

运行 Memcached

启动 Memcached:执行以下命令启动 Memcached 服务,监听端口为 11211,分配内存为 64M,以 root 用户运行,并以守护进程方式运行:

memcached p 11211 m 64M u root d

>注意事项:如果遇到“can’t run as root without the u switch”错误,请确保使用了u root 参数,如果遇到共享库加载错误,请确认 libevent 库已正确安装,并创建必要的符号链接(对于 CentOS):

ln s /usr/local/lib/libevent2.1.so.7.0.1 /usr/lib64/libevent2.1.so.7.0.1

对于 Ubuntu,则创建相应的符号链接到/usr/lib/ 目录。

测试 Memcached 是否运行:使用 Telnet 连接本地主机的 11211 端口:

telnet localhost 11211

如果看到 Memcached 的版本信息和欢迎消息,说明服务已成功启动。

配置 Memcached(可选)

1. 修改监听地址(仅限本地访问)

为了增强安全性,可以配置 Memcached 仅监听本地接口:

编辑/etc/sysconfig/memcached 文件,找到OPTIONS 变量,添加l 127.0.0.1 参数:

OPTIONS="l 127.0.0.1"

保存后重启 Memcached 服务:

sudo systemctl restart memcached

2. 防火墙设置(如果需要远程访问)

如果需要允许远程访问 Memcached,可以使用 FirewallD 配置防火墙规则,允许来自特定 IP 地址的访问:

sudo firewallcmd permanent addrichrule='rule family="ipv4" source address="192.168.100.30/32" port protocol="tcp" port="11211" accept'
sudo firewallcmd reload

上述规则中的 IP 地址应根据实际需求进行调整。

使用 Telnet 进行基本操作

1. Telnet 基本命令

存储键值对:使用set 命令存储键值对,格式为set <key> <flags> <exptime> <bytes> [noreply]> <value>...>

set mykey 0 900 5
hello world!

这将在 900 秒(15分钟)内存储一个字符串hello world!,键名为mykey

获取键的值:使用get 命令获取键的值:

get mykey

如果键存在,将返回其值;否则返回END

删除键:使用delete 命令删除键:

delete mykey

2. Telnet 简单例子

假设我们已经通过 Telnet 连接到 Memcached 服务器,可以进行以下操作:

存储键值对
set mykey 0 900 5
hello world!
STORED
获取键的值
get mykey
VALUE mykey 0 5
hello world!
END
删除键
delete mykey
DELETED

这些操作展示了 Memcached 的基本增删改查功能。

Q1: Memcached 无法启动,提示“can’t run as root without the u switch”?

A1: 这个错误是因为 Memcached 禁止以 root 用户身份运行而没有指定用户,解决方法是在启动命令中添加u root 参数,指定以 root 用户运行:

memcached p 11211 m 64M u root d

或者,更好的做法是创建一个专用的用户来运行 Memcached,

useradd r memcached

然后以该用户身份运行 Memcached:

memcached p 11211 m 64M u memcached d

Q2: Memcached 启动后无法连接,提示“error while loading shared libraries”?

A2: 这个错误通常是由于系统找不到所需的共享库,解决方法是为缺少的共享库创建符号链接,对于 CentOS,执行:

ln s /usr/local/lib/libevent2.1.so.7.0.1 /usr/lib64/libevent2.1.so.7.0.1

对于 Ubuntu,则执行:

ln s /usr/local/lib/libevent2.1.so.7.0.1 /usr/lib/libevent2.1.so.7.0.1

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/8646.html

分享:
扫描分享到社交APP
上一篇
下一篇