NordBastion 北极熊吉祥物坐在石凳上,面前是带查询栏的大型全息青色搜索界面,周围环绕着由发光线条连接的上游搜索引擎图标星群,青色 N 形盾牌置于北欧抄写室的他身旁
操作指南 · 20 分钟实操·2026 年更新

在 VPS 上自托管 SearXNG。
您自己的私有元搜索,70+ 个上游来源。

SearXNG 查询 Google、Bing、DuckDuckGo、Wikipedia 及七十多个引擎——且从不告诉任何一个谁在提问。三条 Docker 命令、一个反向代理、一个书签小工具——您家中每个浏览器的默认搜索引擎就属于您了。

简而言之
  • 01

    SearXNG 是一个元搜索前端——没有自己的索引;查询被分发至 70+ 个上游引擎并聚合。完全自托管意味着没有其他人看到您的查询。

  • 02

    结构性挑战是上游 IP 信誉——数据中心 IP 会遭遇 CAPTCHA。通过多引擎分散查询、适度的速率限制以及 IP 段不在滥用热力图中的托管商来缓解。

  • 03

    复合价值是您可以在其上构建的一切——Perplexica AI 搜索、浏览器默认集成、自定义搜索别名——全部由您的私有 SearXNG 支撑。

第一章

SearXNG 实际是什么。元搜索,而非搜索。

SearXNG 是一个 Python 应用,当您提交查询时,它将查询并行分发至众多上游搜索引擎——Google、Bing、DuckDuckGo、Brave、Mojeek、Wikipedia、GitHub、arXiv、IMDb、Reddit,以及根据配置的数十个更多引擎——并将结果合并成一个带去重和来源归属的排名列表。它没有自己的爬虫或索引;价值在于聚合加上隐私代理。

从用户角度:您输入查询,获得看起来像普通搜索页面的结果。从上游引擎角度:一个来自 SearXNG 实例 IP 的查询,没有 cookie、没有 referrer、没有用户标识符。从您的角度:SearXNG 实例从不记录您的查询(默认配置),即使被攻破,也没有历史搜索档案可供泄露。

超出网页范畴的类别:SearXNG 内置支持图片搜索(跨多个引擎)、视频、新闻、地图、科学、文件(BitTorrent 索引、FTP)、社交媒体。结果页面为每个类别提供标签。类别路由意味着您可以运行仅查询 GitHub、GitLab 和 SourceGraph 的「纯代码」搜索配置,或「纯新闻」搜索配置,或任何其他配置。

对注重隐私的读者而言的杀手级功能:SearXNG 提供 JSON API。任何需要搜索结果的工具——桌面启动器、CLI 命令、聊天机器人、AI 代理——都可以调用您的 SearXNG 而非 Google。这使 SearXNG 从搜索引擎升级为整个工具链的搜索后端。

第二章

IP 信誉壁垒。为何超大规模云 IP 会被 CAPTCHA 墙拦截。

上游搜索引擎通过对其认为滥用的 IP 进行速率限制和 CAPTCHA 拦截来保护自己免受爬虫侵害。超大规模云范围(AWS、GCP、Azure、DigitalOcean,以及较大的 Hetzner 和 OVH IP 池)是被屏蔽最多的,因为大多数爬虫运行在这些范围内。结果:AWS Lightsail 上的 SearXNG 在十次查询内就开始返回空的 Google 结果,而相同的 SearXNG 运行在流量较少的数据中心 IP 上可以无问题运行数月。

缓解措施 1——仔细选择托管商。 NordBastion VPS 位于北欧数据中心,其 IP 段不在典型爬虫滥用热力图中。较小、较少使用的 IP 段意味着该 IP 具有中性信誉——这正是 SearXNG 在上游层面所需要的。

缓解措施 2——积极地分散查询。 编辑 settings.yml 以启用更多上游引擎:不仅是 Google + Bing,还有 Brave、Mojeek、Qwant、Startpage、Marginalia,以及类别专用引擎(Wikipedia、GitHub、Reddit)。启用的上游越多,每个引擎看到的流量越少,任何一个开始速率限制的可能性越低。

缓解措施 3——对自己的用户启用速率限制。 SearXNG 内置了按 IP 的速率限制(limiter.toml)。调整它们,使单个用户不会意外产生爬虫模式的流量。默认 10 次/分钟对个人使用通常是正确的。

缓解措施 4——专门针对 Google 使用 Tor。 SearXNG 支持通过 Tor 代理上游查询。对 Google 尤其如此——它在 CAPTCHA 方面最为激进——通过 Tor 路由查询(在 google 引擎块设置 using_tor_proxy: true)以牺牲少量延迟换取更新鲜的信誉池。

第三章

Docker 安装。从「全新 VPS」到「浏览器默认搜索」只需十五分钟。

1. 安装 Docker。 curl -fsSL https://get.docker.com | sh — 在现代 Debian/Ubuntu 上,Compose v2 包含在同一软件包中。

2. 克隆官方 searxng-docker 模板。 git clone https://github.com/searxng/searxng-docker.git && cd searxng-docker — 这是上游维护的 docker-compose.yml,将 SearXNG 与 Valkey/Redis 辅助容器(用于速率限制器和缓存)以及 Caddy 反向代理捆绑在一起。

3. 配置。 编辑 .env:设置 SEARXNG_HOSTNAME=search.example.com(您的子域名),LETSENCRYPT_EMAIL=[redacted-user]@[redacted-host](供 Caddy 用于 ACME 注册)。打开 searxng/settings.yml:将 server.secret_key 设置为新生成的 openssl rand -hex 32,自定义 title/instance_name,启用所需的搜索引擎。

4. 启动。 docker compose up -d — 第一次启动会拉取 SearXNG、Valkey 和 Caddy 镜像,生成 TLS 证书,启动技术栈。访问 https://search.example.com,SearXNG 首页即会显示。

5. 测试各搜索引擎。 搜索一些常见内容;验证结果返回。打开 Preferences → Engines,验证每个启用的上游显示绿色。如果 Google 显示红色并附带 CAPTCHA 错误,跳转至第 2 章的 Tor 代理缓解措施。

安装就这样完成了。更新:每周执行一次 docker compose pull && docker compose up -d——当上游引擎改变其抓取模式时,SearXNG 社区会在 48 小时内推送修复,因此保持最新是「所有引擎正常工作」和「Google 已经坏了三周」之间的区别。

第四章

浏览器默认搜索。桌面、移动、终端。

Firefox。 访问 https://search.example.com 一次;点击地址栏溢出菜单(...)→「添加搜索引擎」;设置 → 搜索 → 默认搜索引擎 → SearXNG。地址栏现在通过您的 SearXNG 搜索。附加建议:将搜索建议设置为关闭(SearXNG 的建议默认发送至第三方;禁用以将按键记录保持本地)。

Chrome / Brave / Edge。 chrome://settings/searchEngines → 添加 → 名称「SearXNG」,快捷键「s」,URL https://search.example.com/?q=%s — 设为默认。Brave 和 Edge 上操作相同。

iOS Safari。 Safari 不允许直接添加自定义搜索引擎,但开源的 Privacy Redirect 扩展(或功能更强的 Mojo Search Extensions 插件)可以实现。替代方案:安装 Brave 或 Firefox iOS,将 SearXNG 设为默认,用于搜索。

Android。 Firefox Android——与桌面端流程相同。Brave Android——与桌面端流程相同。原生 Chrome Android 的键盘建议路径是唯一麻烦的情况;请在那种情况下使用 Firefox。

终端。 alias s='function _s(){ xdg-open "https://search.example.com/?q=$*"; }; _s' — 添加一条「s 您的搜索查询」命令。在 macOS 上将 xdg-open 替换为 open。

第五章

加固。让实例真正无日志。

禁用 Caddy 访问日志。 searxng-docker 模板中的默认 Caddyfile 将每个请求记录到 JSON 文件中。您输入的每一个搜索查询都会出现在该日志中。编辑 Caddyfile,在 SearXNG 站点块内添加 log { output discard };重载 Caddy。应用现在不会在任何地方写入每次查询的日志。

禁用 favicon 代理。 SearXNG 默认为结果域名获取 favicon,这会给每个域名一个有人搜索它的提示。settings.yml 中设置 search.favicon_resolver: '' 可禁用此功能。

禁用搜索建议。 自动补全建议默认会转发至第三方端点。settings.yml 中设置 search.suggestion_resolver: '' 可使地址栏建议保持本地。

如不需要则禁用图片代理。 SearXNG 出于隐私原因通过自身代理结果图片;这会消耗 VPS 带宽。如果您不使用图片搜索,请禁用它(server.image_proxy: false)。如果使用,请保留——它正在发挥作用。

通过 IP 或基本认证限制访问。 公开的 SearXNG 实例会吸引机器人流量,消耗您不希望浪费的上游配额。添加 Caddy basic_auth 块(一个用户名,一个密码)或通过 remote_ip { ... } 将站点限制为您的家庭和出行 IP。大多数运营者最终都会这样做。

第六章

更进一步——在顶层叠加 Perplexica AI。您的私人 ChatGPT 式搜索。

Perplexica 是 Perplexity AI 的开源克隆——一个接受自然语言问题、运行定向搜索收集来源、然后综合带引用答案的 AI 搜索界面。巧妙之处在于后端:Perplexica 使用 SearXNG 作为搜索引擎,使用 OpenAI 兼容的对话补全 API(本地运行 Llama / Mistral / Qwen 的 Ollama,或代理至远程提供商的 LiteLLM)作为语言模型。两部分都可以自托管,两者都无需接触第三方。

安装。 git clone https://github.com/ItzCrazyKns/Perplexica.git,编辑 config.toml 将 SEARXNG 指向 http://searxng:8080(第 3 章的现有容器),将 OLLAMA 设置为 http://ollama:11434 或您的 LiteLLM 端点,docker compose up -d。Perplexica 现在运行于第二个端口,完全接入您的 SearXNG。

您获得的内容。 一个外观和体验类似 Perplexity 的 Web UI——输入问题,看它通过您的 SearXNG 搜索,看它归纳来源,获得带引用的答案。一切发生在您的 VPS 上;没有第三方看到问题、搜索过程或答案。对于研究级用途,带来源引用的结构远比托管 AI 产品惯用的无归属段落格式诚实得多。

资源消耗。 SearXNG 本身保持轻量。Perplexica 本身是一个小型 Next.js 应用。语言模型成本是变量——运行 7B 模型的 Ollama 需要 8 GB RAM,70B 模型需要 64 GB。对于适度使用,将 Perplexica 指向远程 OpenAI 兼容端点(在注重隐私的推理提供商前加 LiteLLM),VPS 保持轻量。

FAQ · 自托管 SearXNG

问题,已解答。

部署私有 SearXNG 实例前后常见的八个问题。

SearXNG 是什么,它与 DuckDuckGo 有何不同?

SearXNG 是一个尊重隐私的元搜索引擎——它没有自己的搜索索引;当您查询时,它将您的查询转发至 70+ 个上游引擎(Google、Bing、DuckDuckGo、Wikipedia、Brave、Mojeek,以及数百个专业引擎)并聚合结果。DuckDuckGo 是一个单一搜索服务,代理来自 Bing 的结果加上自己的爬虫。实际差异:SearXNG 给您更多、更广泛、过滤更少的结果,并可选择排除任何您不信任的上游引擎。

自托管 SearXNG 能给我带来公开实例所没有的什么?

三件事。其一:第三方实例上没有人能看到您的查询——公开实例由您没有关系的志愿者运营,过于热情的管理员可以记录查询。其二:定制化——无妥协地选择上游引擎、权重、默认类别、界面。其三:API 访问——您的自托管 SearXNG 是其他一切的隐私后端(Perplexica AI、自定义爬虫、您的终端「搜索」别名)。

我一直看到的 IP 信誉壁垒是什么?

当 SearXNG 从您的 VPS IP 查询 Google 或 Bing 时,这些上游看到的是「又一个发出自动化请求的数据中心 IP」。超大规模云 IP(AWS、GCP、Hetzner、DigitalOcean)是最糟糕的——它们在几次查询内就会遭到 CAPTCHA 拦截或 429 速率限制。较小、流量较少的数据中心 IP 存活时间更长。缓解措施:选择 IP 段不属于通常滥用热力图的托管商,并配置 SearXNG 将查询分散至众多上游,使任何单一上游都不会看到足够多的流量开始速率限制。

我需要多少 VPS 资源?

非常少。SearXNG 是 I/O 密集型的(等待上游 HTTP 响应),而非 CPU 密集型。1 vCPU 和 512 MB RAM 可舒适地处理单用户。Ravelin 套餐($5.90/月)绰绰有余,让您在同一台机器上运行 SearXNG、Perplexica、Vaultwarden 和几个其他小型服务。

我能将 SearXNG 设为 Firefox 或 Chrome 的默认搜索引擎吗?

是——两个浏览器都支持 OpenSearch 自动发现。一旦您的 SearXNG 位于 https://search.example.com,在 Firefox 中浏览该地址;地址栏溢出菜单会提供「添加搜索引擎」。在 Chrome 中,右键点击地址栏并选择「管理搜索引擎」;SearXNG 会出现在已发现列表中。将其设为默认,地址栏搜索现在流经您的隐私实例。

SearXNG 实例会记录我的查询吗?

默认情况下不记录——这正是重点所在。SearXNG 在应用层面默认禁用日志记录。其前端 Web 服务器(Caddy、Nginx)默认写入包含请求 URL(其中包含搜索查询)的访问日志。本指南的加固章节介绍了如何关闭这些访问日志,使实例真正无日志。

Perplexica 是什么,为何在本指南中提及它?

Perplexica 是 Perplexity AI 的开源克隆——一个接受自然语言问题、运行搜索查询收集来源并综合带引用答案的 AI 搜索界面。它使用 SearXNG 作为搜索后端。同时自托管两者意味着您获得一个私有 AI 搜索界面,其中 AI 在本地运行(Ollama 或在 OpenAI 兼容端点前的 LiteLLM),搜索通过您的 SearXNG 进行。这一组合是尊重隐私的 ChatGPT 搜索类比。

为何在隐私 VPS 上托管 SearXNG 而非任何廉价 VPS?

因为您的 SearXNG 发起查询的 IP 能看到您的每一次搜索。这与 DNS 的元数据问题相同——监视您 DNS 的第三方知道您去往何处。在以真实身份租用、绑定您信用卡、位于强制数据中心记录日志的司法管辖区的 VPS 上运行 SearXNG,并没有解决问题;只是转移了问题所在。无 KYC 加密货币付款的 Nordic VPS 使元数据层与应用层给予的隐私保障保持一致。

获取服务器

为您的私人搜索提供 Nordic VPS。无 KYC,加密货币付款。

Ravelin(2 vCPU,4 GB,$5.90/月)在同一台机器上处理 SearXNG + Vaultwarden + 几个其他小型服务。未被爬虫消耗的 Nordic IP。

最后审核 · 2026-05-20 · 来源 · SearXNG 上游文档,searxng-docker 模板,Perplexica 仓库,OpenSearch 描述规范 · 周期 · 每年