在统信UOS系统里部署Memcached,本质上就是四步闭环:装包、改监听、放防火墙、启服务。别看步骤少,每一步都有容易踩坑的地方,特别是默认配置只绑了127.0.0.1——很多新手折腾半天连不上,十有八九是这一步遗漏了。下面把完整的操作流程走一遍,附带一些实际运维中容易忽略的细节。

如果只是本地开发调试,UOS官方源里的预编译包完全够用,省去了编译依赖的麻烦。直接走apt路线最为稳妥。
使用apt命令安装Memcached(推荐)
这种方法最适合开发测试环境,调用的是UOS官方Debian源中的预编译包,能有效避免编译依赖冲突。
首先更新软件源索引,确保能拉取到最新版Memcached:sudo apt update
然后安装主程序及开发头文件。需要特别注意:libmemcached-dev必须安装,否则后续PHP或Python扩展无法编译,这是很容易被忽视的关键点。sudo apt install -y memcached libmemcached-dev
接着验证二进制是否可用,检查输出是否包含“memcached 1.6.x”字样:memcached -h | head -n 3
最后确认默认配置文件已生成:ls /etc/memcached.conf
修改监听地址并开放防火墙端口
默认配置绑定的是127.0.0.1,不修改的话外部设备根本连不上。很多Redis客户端连不上Memcached,故障根源往往就是这一步漏掉了。
先用vim编辑配置文件:sudo vim /etc/memcached.conf
找到以-l开头的行,将-l 127.0.0.1替换为-l 0.0.0.0,允许所有IPv4地址接入。
检查11211端口是否空闲:sudo ss -tuln | grep :11211
放行防火墙,UOS默认使用ufw:sudo ufw allow 11211/tcp && sudo ufw reload
以非root用户安全运行服务
Memcached进程不应该以root身份长期运行,否则存在提权风险。UOS安装包已经内置了memcache用户,但需要手动启用。
方法一:直接修改配置文件指定用户
编辑/etc/memcached.conf,找到-u行,取消注释并将值设为memcache:-u memcache
方法二:通过systemd覆盖配置(更稳妥)
创建覆盖目录:sudo mkdir -p /etc/systemd/system/memcached.service.d
新建override.conf:sudo nano /etc/systemd/system/memcached.service.d/override.conf
填入以下内容:
[Service]
User=memcache
Group=memcache
执行sudo systemctl daemon-reload后才生效,否则修改无效。
配置systemd服务并开机自启
安装后服务默认未启用,必须显式启动并注册到系统级生命周期管理。
先重启Memcached服务,使全部配置生效:sudo systemctl restart memcached
设为开机自启:sudo systemctl enable memcached
验证运行状态,确认active (running)且Loaded行显示loaded:sudo systemctl status memcached --no-pager -l
