直接二进制安装最稳,但需先检查GLIBC版本(如v1.29.0+依赖2.35),旧系统应选用v1.27.0等兼容版本;生产环境必须配置master_key和db_path实现持久化与鉴权,推荐使用meilisearch.toml配置文件并确保systemd中WorkingDirectory与db_path路径一致且权限正确。

直接二进制安装最稳,但得先看 GLIBC 版本
很多用户执行 curl -L https://install.meilisearch.com | sh 后启动报错:./meilisearch: /lib64/libc.so.6: version `GLIBC_2.35' not found——这不是安装失败,是你系统 GLIBC 太旧。MeiliSearch 新版(如 v1.29.0+)编译依赖 GLIBC 2.35,而 CentOS/Rocky Linux 9.2 默认是 2.34,Ubuntu 22.04 是 2.35,20.04 是 2.31。
查版本用:ldd --version;别硬升 GLIBC(风险高、易崩系统),直接换低版本二进制更安全:
- 去
https://github.com/meilisearch/meilisearch/releases找带-linux-amd64或-linux-aarch64后缀的旧版(如v1.27.0) - 下载后
chmod +x meilisearch-linux-amd64,再sudo mv meilisearch-linux-amd64 /usr/local/bin/meilisearch - 验证:
meilisearch --version能输出即成功
生产环境必须配 master_key 和 db_path,否则重启就丢数据
临时跑 meilisearch 命令看着能用,但没设 --master-key 和 --db-path,所有索引都存在内存或当前目录下,关进程或重装就清空。线上绝对不能这么干。
正确做法是用配置文件(meilisearch.toml)或环境变量固化关键参数:
-
master_key必须设,否则所有写接口裸奔(POST /indexes、POST /documents全部 401) -
db_path必须指向有写权限的持久化路径(如/var/lib/meilisearch),且目录需提前chown $USER:$USER -
http_addr别留localhost:7700,生产要改成0.0.0.0:7700并配合防火墙放行 - 推荐优先用 TOML 配置,比一堆命令行参数更易复用和审计
systemd 服务里 WorkingDirectory 很关键,路径错会导致启动静默失败
很多人写好 meilisearch.service,systemctl start meilisearch 看似成功,systemctl status 却显示 active (exited),日志里没报错也没监听端口——大概率是 WorkingDirectory 没设对,或设了但目录不存在/无权限。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
MeiliSearch 启动时会尝试在工作目录下建临时文件、读取相对路径的配置或 dump 文件。如果 WorkingDirectory=/var/lib/meilisearch,但该目录下没有 data.ms 子目录或权限不对,它不会报错退出,而是退回到默认内存模式(即又变临时实例)。
检查要点:
-
WorkingDirectory必须与db_path的父目录一致(或至少确保该路径存在且可写) - 启动前手动执行一次:
sudo -u $USER /usr/local/bin/meilisearch --config-file-path /etc/meilisearch.toml,看是否真能监听 7700 - 服务日志别只看
status,要用journalctl -u meilisearch -f实时盯输出
Docker 方式省事,但挂载路径权限容易踩坑
用 docker run -v /host/path:/meili_data 看似简单,实际常因 SELinux 或目录权限导致容器内无法写入数据库文件,现象是容器一直 restarting,docker logs 显示 Permission denied 或 failed to open database。
解决方法分情况:
- CentOS/Rocky:加
:z标签,如-v /host/path:/meili_data:z,让 Docker 自动 relabel - Ubuntu/Debian:确保
/host/path所属 UID 与容器内用户匹配(MeiliSearch 官方镜像用 UID 1001),可sudo chown -R 1001:1001 /host/path - 开发机快速验证:先用
-v $(pwd)/data:/meili_data本地测试,确认逻辑通再切到系统路径
配置文件、密钥这些敏感项别塞进镜像,一律用 -v 挂载或 --env 注入,避免镜像泄露风险。

















