1. Win安装
2. Linux安装
2.1 安装依赖环境
sudo yum install -y libevent-devel
2.2 下载 Memcached
cd /tmp
wget https://memcached.org/files/memcached-1.6.12.tar.gz
2.3 解压 Memcached
tar xzf memcached-1.6.12.tar.gz
2.4 编译安装 Memcached
cd memcached-1.6.12
./configure && make && sudo make install
2.5 配置 Memcached
创建一个 Memcached 配置文件 /etc/memcached.conf
,并添加以下内容:
# 监听的 IP 地址和端口号
-l 127.0.0.1
-p 11211
# 内存限制(单位是 MB)
-m 64
# 后台运行
-d
2.6 赋权
sudo chmod +x /usr/local/bin/memcached
2.7 启动 Memcached
memcached -d -m 64 -u root -l 127.0.0.1 -p 11211
2.8 验证 Memcached 是否启动成功
sudo netstat -lnpt | grep memcached
如果看到输出中有 127.0.0.1:11211
,则表示 Memcached 启动成功。
2.9 添加到系统服务
(1)创建systemd服务文件
使用root权限创建/usr/lib/systemd/system/memcached.service
文件,文件内容如下:
[Unit]
Description=memcached daemon
[Service]
Type=simple
ExecStart=/usr/local/bin/memcached -m 64 -u root -l 127.0.0.1 -p 11211
ExecReload=/bin/kill -s HUP $MAINPID
Restart=always
User=root
[Install]
WantedBy=multi-user.target
(2)启用服务,执行以下命令:
sudo systemctl daemon-reload
sudo systemctl enable memcached
sudo systemctl start memcached
(3)确认服务是否已经启动,执行以下命令:
sudo systemctl status memcached
如果服务状态显示为"active (running)",则表示服务已经正常运行。
2.10 sudo 命令执行失败问题
问题描述
[root@linkhot01 memcached-1.6.12]# sudo memcached -d -m 64 -u root -l 127.0.0.1 -p 11211
sudo: memcached:找不到命令
报错说明:这个错误提示显示系统找不到 memcached
命令,有可能是因为 memcached
没有正确安装或者没有正确配置系统环境变量。
分析结果:如果将sudo
与memcached
命令连在一起执行,会导致系统无法找到memcached
命令。这是因为在使用sudo
时,系统会默认使用root
用户环境变量中的PATH
变量,而非当前用户的环境变量。
因此,在使用sudo
命令时,需要使用绝对路径或者将memcached
命令加入root
用户的环境变量中,才能够正常执行memcached
命令。
3. 一键部署脚本
#!/bin/bash
# 安装依赖库
sudo yum install libevent-devel -y
# 下载、编译和安装 memcached
cd /usr/local/src
sudo wget http://www.memcached.org/files/memcached-1.6.12.tar.gz
sudo tar -zxvf memcached-1.6.12.tar.gz
cd memcached-1.6.12/
sudo ./configure --prefix=/usr/local/memcached
sudo make && sudo make install
# 添加 memcached 环境变量
echo 'export PATH=$PATH:/usr/local/memcached/bin' | sudo tee -a /etc/profile
source /etc/profile
# 创建 memcached 用户
sudo useradd -s /sbin/nologin -d /dev/null memcached
# 生成服务文件
sudo sh -c "cat > /usr/lib/systemd/system/memcached.service << EOF
[Unit]
Description=Memcached
After=network.target
[Service]
Type=simple
User=memcached
Group=memcached
Environment='PATH=/usr/local/memcached/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'
ExecStart=/usr/local/memcached/bin/memcached -d -m 64 -u memcached -l 127.0.0.1 -p 11211
ExecStop=/usr/local/memcached/bin/memcached -d -m 64 -u memcached -l 127.0.0.1 -p 11211 -s /tmp/memcached.sock -S -X
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
"
# 启动 memcached 服务并设置开机自启
sudo systemctl start memcached
sudo systemctl enable memcached
这个脚本会下载、编译和安装 memcached,添加 memcached 环境变量,创建 memcached 用户,生成服务文件,启动 memcached 服务并设置开机自启。