银河麒麟v10 SP2部署Memcached有四种方式:一、apt一键安装;二、yum/dnf兼容模式安装;三、源码编译安装(支持指定版本与自定义路径);四、配置systemd服务并设置开机自启。
如果您在银河麒麟操作系统(v10 SP2)上需要部署Memcached缓存服务,但系统默认未预装或编译失败,则可能是由于依赖库缺失、源配置不兼容或权限策略限制。以下是针对麒麟OS的多种可行安装与配置路径:
一、使用麒麟软件包管理器(apt)一键安装
银河麒麟v10基于Debian/Ubuntu系内核,已适配apt源,适用于标准环境且无需编译。该方式依赖官方仓库中已签名验证的memcached二进制包,安装快速、依赖自动解析。
1、更新系统软件源列表:
sudo apt update
2、安装memcached及其配套工具:
sudo apt install memcached libmemcached-tools -y
3、验证安装结果:
memcached -h | head -n 5
4、检查服务状态:
systemctl is-active memcached
二、通过YUM/DNF兼容模式安装(适用于兼容RHEL生态的麒麟版本)
部分麒麟OS发行版启用了yum/dnf兼容层,可调用CentOS/RHEL生态仓库。此方法适用于已启用epel源或麒麟自建兼容仓库的系统,避免手动编译libevent冲突。
1、启用麒麟兼容源(如存在):
sudo apt install yum -y || sudo dnf install epel-release -y
2、安装基础依赖:
sudo yum install libevent libevent-devel -y
3、安装memcached主程序:
sudo yum install memcached -y
4、确认二进制路径与版本:
which memcached && memcached -V
三、源码编译安装(支持指定版本与自定义路径)
当需部署memcached 1.5.10、1.6.15等特定版本,或需绑定麒麟OS定制libevent(如/usr/lib/aarch64-linux-gnu/libevent-2.1.so)时,必须采用源码编译方式。该路径绕过包管理器限制,完全控制运行时参数与安装位置。
1、安装编译依赖:
sudo apt install build-essential libevent-dev zlib1g-dev -y
2、下载并解压目标版本源码(以1.6.15为例):
wget https://www.memcached.org/files/memcached-1.6.15.tar.gz && tar -zxvf memcached-1.6.15.tar.gz && cd memcached-1.6.15
3、配置安装路径与libevent路径:
./configure --prefix=/opt/memcached-1.6.15 --with-libevent=/usr
4、执行编译与安装:
make && sudo make install
5、创建软链接便于调用:
sudo ln -sf /opt/memcached-1.6.15/bin/memcached /usr/local/bin/memcached
四、配置systemd服务并设置开机自启
麒麟OS v10 SP2默认使用systemd作为初始化系统,需将memcached注册为标准服务单元,确保权限隔离、日志集成及生命周期可控。此步骤对所有安装方式均适用,是生产环境必需操作。
1、创建服务定义文件:
sudo tee /etc/systemd/system/memcached.service [Unit]Description=Memcached Daemon After=network.target[Service]Type=simple User=memcache Group=memcache ExecStart=/usr/bin/memcached -u memcache -m 512 -c 1024 -l 127.0.0.1 -p 11211 -P /var/run/memcached.pid Restart=always RestartSec=3[Install]WantedBy=multi-user.target EOF
2、创建专用运行用户:
sudo useradd -r -s /bin/false memcache
3、创建PID目录并授权:
sudo mkdir -p /var/run/memcached && sudo chown memcache:memcache /var/run/memcached
4、重载服务配置并启用:
sudo systemctl daemon-reload && sudo systemctl enable --now memcached
五、验证监听状态与基础连通性
安装完成后需确认memcached进程是否实际绑定端口并响应协议请求,排除SELinux、firewalld或麒麟安全策略拦截。该验证不依赖客户端库,仅使用系统原生命令,结果具备强确定性。
1、检查端口监听状态:
sudo ss -tlnp | grep ':11211'
2、发起原始ASCII协议测试:
printf "stats\r\nquit\r\n" | nc 127.0.0.1 11211 | head -n 10
3、确认返回含
STAT version与STAT uptime字段,且无connection refused或timeout提示
4、查看服务实时日志:
sudo journalctl -u memcached -n 20 --no-pager
