直接二进制安装最省事但需注意glibc版本兼容性,如v1.29.0要求glibc 2.35+,低于则需降级或改用docker;启动必须指定--http-addr 0.0.0.0:7700、--master-key和--db-path,配置文件路径须为绝对路径且相关目录需手动创建并赋权。

直接用二进制安装最省事,但得注意 GLIBC 版本兼容性
Meilisearch 官方提供预编译的 meilisearch-linux-amd64(或 meilisearch-linux-aarch64)二进制文件,不用装 Rust 工具链,下载即用。但别急着 wget 最新版——ldd --version 先查你系统的 GLIBC 版本,比如 RockeyLinux 9.2 默认是 GLIBC 2.34,而 Meilisearch v1.29.0 要求 GLIBC 2.35+,硬跑会报错:/lib64/libc.so.6: version 'GLIBC_2.35' not found。
解决办法很简单:
- 去 GitHub Releases 页面 找上一个兼容的版本(如 v1.28.1)
- 或者改用 Docker 方式(它自带运行时,绕开宿主机 GLIBC 限制)
- 不推荐强行升级系统 GLIBC,风险高、易崩系统
启动时加 --http-addr 0.0.0.0:7700 才能被外部访问
默认执行 meilisearch 命令,它只监听 localhost:7700,连本机其他网卡 IP 都访问不了,更别说外网。必须显式指定绑定地址:
meilisearch \ --http-addr 0.0.0.0:7700 \ --db-path /var/lib/meilisearch \ --master-key "MySecretKey123!"
常见疏漏点:
-
--http-addr写成127.0.0.1:7700或漏掉0.0.0.0→ 外部请求直接被拒 - 没配
--master-key→ 所有写操作(建索引、导入数据)返回401 Unauthorized - 没设
--db-path→ 数据存在临时目录,重启后全丢(尤其用systemd管理时更隐蔽)
用 systemd 管理服务时,WorkingDirectory 和权限最容易出错
写 /etc/systemd/system/meilisearch.service 时,这两项必须对齐:
-
WorkingDirectory=/var/lib/meilisearch—— 这是meilisearch进程实际工作的根路径 -
ExecStart=/usr/local/bin/meilisearch --db-path ./data中的./data就会解析为/var/lib/meilisearch/data - 确保该目录属主是运行服务的用户(通常是
$USER或meilisearch用户),否则启动失败报Permission denied
典型错误日志片段:
ERROR meilisearch::configuration: Failed to create database directory: Permission denied (os error 13)
修复命令示例:
sudo mkdir -p /var/lib/meilisearch/data sudo chown $USER:$USER /var/lib/meilisearch
配置文件 meilisearch.toml 比命令行参数更稳定,但路径必须绝对
虽然命令行能快速试跑,但生产环境强烈建议用 TOML 配置文件,避免启动命令过长、易错。关键点在于:
- 配置文件里所有路径(
db_path、dump_dir、snapshot_dir)必须写**绝对路径**,比如"/var/lib/meilisearch/data",不能写"./data" -
http_addr设为"0.0.0.0:7700",不是"localhost:7700" - 用
meilisearch --config-file-path /etc/meilisearch.toml启动时,路径必须完整、可读
如果 systemd 里写成:
ExecStart=/usr/local/bin/meilisearch --config-file-path ./meilisearch.toml
那它会在 WorkingDirectory 下找,极大概率找不到——因为配置文件通常放在 /etc/ 下。
真正容易被忽略的是:Meilisearch 不会自动创建 dump_dir 和 snapshot_dir 目录,哪怕配置里写了,也得手动 mkdir -p 并赋权,否则定期快照会静默失败,恢复时才发现备份根本不存在。











