在数据隐私日益受到关注的今天,拥有一个私有的、可定制的元搜索引擎显得格外有吸引力。SearXNG 作为 SearX 的现代化社区分支,支持聚合数十种搜索引擎结果、内置翻译功能且默认无跟踪,是自托管搜索服务的上佳选择。本文将分享一个极简的 Docker 部署方案,让你在几分钟内跑起属于自己的隐私搜索实例。
首先,在服务器上创建一个专用目录用于存放 SearXNG 的持久化配置。这里我们选择 ~/services/searxng,并设置服务将使用的端口:
mkdir -p ~/services/searxng && cd $_ export SEARXNG_PORT=8080
端口可按需修改,确保未被其他服务占用即可。
SearXNG 官方提供了维护良好的 Docker 镜像,一条命令即可完成拉取与运行。
docker pull searxng/searxng
推荐使用以下命令启动容器,并绑定本地配置文件目录以实现持久化:
docker run -d --restart=unless-stopped -p ${SEARXNG_PORT}:8080 -v "${PWD}/config:/etc/searxng" -e "BASE_URL=http://your-domain.com" -e "INSTANCE_NAME=PrivateSearch" searxng/searxng
-v "${PWD}/config:/etc/searxng"
将容器内的/etc/searxng目录挂载到宿主机的当前目录下的config文件夹,所有配置文件(如settings.yml、engines列表)都会持久化保存,容器重建后配置不丢失。--restart=unless-stopped
保证服务异常退出或宿主机重启后自动重新拉起容器,实现开机自启。-e "BASE_URL=..."
设置服务对外暴露的访问地址,后续若通过反向代理或域名访问,需将其替换为实际域名。若暂不确定也可先留空,部署完成后再修改配置文件。-e "INSTANCE_NAME=..."
定义实例名称,会显示在页面标题和页脚中,便于辨识。
启动成功后,通过浏览器访问 http://
<服务器ip>
:8080
服务器ip> 即可看到 SearXNG 的搜索界面。
在实际使用中,可能会遇到一些典型问题,这里提前给出解决方案。
在 SearXNG 的配置文件 settings.yml 中设置全局代理:
outgoing: proxies: all://: - http://
<代理ip>
:
<端口>端口>
代理ip>
保存配置后重启容器生效。
- 多引擎结果聚合对比
一次性搜索 Google、Bing、DuckDuckGo 等多个来源,支持分引擎查看结果。 - 支持 30+ 语言实时翻译
内置翻译引擎,搜索结果页可直接翻译标题与摘要。
- 零 Cookie 跟踪的隐私模式
默认不存储用户搜索记录,不注入跟踪代码,真正做到隐私优先。 - 主题切换
内置浅色/深色主题,可按个人喜好调整。
若需通过域名并提供 HTTPS 访问,可使用 Nginx 或 Caddy 配置反向代理。网上相关教程丰富,此处不再赘述。笔者的实例即通过位于香港的 VPS 反代至公网,同时开启了 Let's Encrypt 证书实现 HTTPS 加密。
为保持搜索引擎列表与最新支持同步,可定期执行以下命令更新引擎信息:
docker exec -it searxng python -m searx.engines --update
该命令会扫描并刷新可用引擎的配置,避免因上游引擎变更导致部分搜索失效。
SearXNG 内置 Prometheus 指标端点(默认路径 /metrics),可轻松集成监控。使用以下命令启动 Prometheus 容器并与 SearXNG 网络联通:
docker run -d --network=searxng-net -v "${PWD}/metrics:/metrics" prom/prometheus --config.file=/metrics/searxng.yml
在 Prometheus 配置文件中添加 SearXNG 的抓取任务,即可获得搜索请求数、引擎响应时间等统计信息,便于掌握服务运行状态。
通过 Docker 部署 SearXNG 仅需数条命令,却能换来一个功能强大、隐私友好的私有搜索门户。无论是个人日常使用还是为小团队提供内网搜索服务,这套方案都足够轻量且易于维护
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/254899.html