SearXNG 私人搜索怎么搭?别把公开实例当万能答案
SearXNG 可以把多个搜索来源聚合到一个界面,适合想减少追踪、统一搜索入口的用户。自建它并不是为了“更强搜索”,而是为了可控、少广告、少账号依赖。本文讲 Docker 部署、HTTPS、限流和是否适合公开开放。
先说结论
SearXNG 适合私人或小范围使用,不建议新手一上来做公开实例。公开后会遇到滥用、限流、来源封禁、性能波动和日志隐私问题。自用时它很轻,公开时它就变成一个需要持续维护的服务。
如果你只是想少广告、少追踪,私人实例够了;如果想给大量用户用,要提前准备反滥用和监控。
服务器配置怎么选
私人使用 1 核 2G 可以跑,配合 Redis 会更稳;多人使用或公开入口建议 2 核 4G 起步。搜索聚合的瓶颈不只在 CPU,还在外部搜索源响应速度和网络质量。
我会把私人 SearXNG 放在雨云服务器 rainyun-com的 1 核 2G 机型上,自用搜索入口和少量朋友访问够用。注册填优惠码2026off领 5折,先按私人实例规划,别一开始就开放给所有人。
Compose 示例
下面是简化部署结构,发布前请按 SearXNG 官方文档确认最新配置:
services:searxng:image:searxng/searxng:latestrestart:unless-stoppedports:-"127.0.0.1:8080:8080"environment:BASE_URL:https://search.example.com/INSTANCE_NAME:private-searchvolumes:-./searxng:/etc/searxngredis:image:redis:7restart:unless-stoppedcommand:["redis-server","--save","","--appendonly","no"]首次启动后检查配置目录,设置secret_key,不要使用默认值。
反代和访问限制
Caddyfile 示例:
search.example.com { encode zstd gzip reverse_proxy 127.0.0.1:8080 }如果只给自己用,可以考虑加 Basic Auth 或只允许 VPN 访问。搜索入口看似无害,但公开后很容易被脚本刷请求。
验证方式
部署后搜索一个普通关键词、一个中文关键词、一个技术报错关键词。观察页面是否返回结果,日志是否报来源超时。不要用“首页能打开”当作成功,搜索服务的核心动作就是能稳定返回结果。
再观察几天来源可用性。搜索源偶尔失败是正常现象,不要为了追求全绿不停改配置。
常见问题
结果少或慢,不一定是服务器弱,可能是上游搜索源限流或网络波动。公开实例被频繁访问后,来源更容易拒绝请求。中文搜索质量也取决于启用的来源和关键词,不要期待它完全替代所有商业搜索。
如果日志太多,记得限制容器日志大小;搜索服务请求频繁时,日志很容易增长。
总结
SearXNG 自建的价值是可控和轻量,不是无成本搭一个公开搜索引擎。私人使用时重点做好 HTTPS、secret key、访问限制和日志管理。