SearXNG 配置指南 - Windows 容器化部署完整教程
一、SearXNG 简介
SearXNG 是一个免费开源的元搜索引擎,它聚合了来自多个搜索引擎的结果,同时保护用户隐私。与直接使用 Google、Bing 等搜索引擎不同,SearXNG 不会追踪用户搜索历史,不收集个人信息,是注重隐私用户的理想选择。
主要特性:
- 支持 70+ 搜索引擎(Google、Bing、DuckDuckGo、Wikipedia 等)
- 无用户追踪、无搜索历史存储
- 支持自定义搜索引擎组合
- 提供多种结果类型(通用、图片、视频、新闻、地图等)
- 支持多语言界面
- 可通过 Docker 轻松部署
二、Windows 安装 Docker Desktop
2.1 系统要求
推荐配置
- Windows 10 64 位(版本 21H2 或更高)或 Windows 11
- 启用 Hyper-V 和容器功能
- 至少 4GB RAM(推荐 8GB)
- 至少 10GB 可用磁盘空间
当前配置
- Windows 10
- 启用 Hyper-V
- 32G RAM
- 256G可用空间
2.2 安装步骤
步骤 1:启用 WSL 2 功能
以管理员身份打开 PowerShell,执行以下命令:
# 启用 WSL 功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 启用虚拟机平台功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 重启计算机
shutdown /r /t 0

步骤 2:安装 WSL 2 内核更新包
访问 Microsoft 官网下载并安装 WSL 2 Linux 内核更新包:
https://aka.ms/wsl2kernel
步骤 3:设置 WSL 2 为默认版本
wsl --set-default-version 2
步骤 4:下载并安装 Docker Desktop
- 访问 Docker 官网:https://www.docker.com/products/docker-desktop/
- 下载 Docker Desktop for Windows
- 运行安装程序,按向导完成安装
- 启动 Docker Desktop,等待初始化完成
步骤 5:验证安装
# 检查 Docker 版本
docker --version
# 检查 Docker Compose 版本
docker compose version
# 运行测试容器
docker run hello-world
三、Docker 基础命令详解
3.1 镜像管理命令
# 搜索镜像
docker search searxng
# 拉取镜像
docker pull searxng/searxng:latest
# 查看本地镜像
docker images
# 删除镜像
docker rmi <image_id>
# 查看镜像详细信息
docker inspect <image_name>
3.2 容器管理命令
# 创建并启动容器
docker run -d --name <container_name> <image_name>
# 查看运行中的容器
docker ps
# 查看所有容器(包括已停止的)
docker ps -a
# 停止容器
docker stop <container_name>
# 启动已停止的容器
docker start <container_name>
# 重启容器
docker restart <container_name>
# 删除容器
docker rm <container_name>
# 查看容器日志
docker logs <container_name>
# 实时查看日志
docker logs -f <container_name>
# 进入容器内部
docker exec -it <container_name> /bin/bash
# 查看容器资源使用
docker stats
3.3 网络与端口命令
# 查看网络
docker network ls
# 创建网络
docker network create <network_name>
# 查看端口映射
docker port <container_name>

四、SearXNG 容器化部署
4.1 创建项目目录结构
# 创建项目目录
mkdir C:\searxng
cd C:\searxng
# 创建配置目录
mkdir searxng
mkdir redis
4.2 创建 Docker Compose 配置文件
在项目根目录创建 docker-compose.yml:
version: '3.8'
services:
searxng:
image: searxng/searxng:latest
container_name: searxng
ports:
- "8080:8080"
volumes:
- ./searxng:/etc/searxng:rw
environment:
- SEARXNG_BASE_URL=http://localhost:8080/
- SEARXNG_SECRET_KEY=your_secret_key_here_change_it
depends_on:
- redis
restart: unless-stopped
networks:
- searxng_network
redis:
image: redis:alpine
container_name: searxng_redis
command: redis-server --save "" --appendonly no
restart: unless-stopped
networks:
- searxng_network
networks:
searxng_network:
driver: bridge
4.3 创建 SearXNG 配置文件
创建 searxng/settings.yml 配置文件:
# SearXNG 主配置文件
general:
# 实例名称
instance_name: "My SearXNG"
# 启用调试模式(生产环境设为 false)
debug: false
# 启用 HTTPS(如果前面有反向代理)
https_proxy: false
# 输出格式
output_format: html
server:
# 监听端口
port: 8080
# 绑定地址
bind_address: "0.0.0.0"
# 秘密密钥(用于会话加密,必须修改)
secret_key: "your_secret_key_here_change_it"
# 基础 URL
base_url: "http://localhost:8080/"
# 是否启用公共实例
public_instance: false
search:
# 安全搜索级别(0=关闭,1=中等,2=严格)
safe_search: 0
# 默认语言
default_lang: "zh-CN"
# 启用自动检测语言
autocomplete: "google"
# 默认搜索引擎类别
default_categories:
- general
- images
- news
- videos
engines:
# Google 搜索
- name: google
engine: google
shortcut: g
disabled: false
# Bing 搜索
- name: bing
engine: bing
shortcut: b
disabled: false
# DuckDuckGo
- name: duckduckgo
engine: duckduckgo
shortcut: ddg
disabled: false
# Wikipedia
- name: wikipedia
engine: wikipedia
shortcut: wp
disabled: false
# YouTube
- name: youtube
engine: youtube_noapi
shortcut: yt
disabled: false
ui:
# 默认主题
default_theme: simple
# 可用主题
themes:
- simple
- oscar
# 默认语言
default_locale: zh-CN
# 结果每页数量
results_on_page: 20
# Redis 缓存配置
redis:
url: redis://redis:6379/0
4.4 启动 SearXNG
# 进入项目目录
cd C:\searxng
# 启动所有服务
docker compose up -d
# 查看启动日志
docker compose logs -f
# 查看服务状态
docker compose ps
4.5 访问 SearXNG
打开浏览器访问:http://localhost:8080
五、高级配置选项
5.1 配置反向代理(Nginx)
如果需要从外网访问,建议配置 Nginx 反向代理:
server {
listen 80;
server_name searxng.yourdomain.com;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
5.2 启用 HTTPS(Let's Encrypt)
使用 Certbot 获取免费 SSL 证书:
# 安装 Certbot(需要 Chocolatey)
choco install certbot
# 获取证书
certbot certonly --standalone -d searxng.yourdomain.com
5.3 自定义搜索引擎
在 settings.yml 中添加自定义引擎:
engines:
- name: github
engine: json_engine
shortcut: gh
base_url: https://api.github.com/search/repositories
url_query: q={query}
results: items
title: full_name
url: html_url
content: description
六、常用运维命令
6.1 日常维护
# 查看容器状态
docker compose ps
# 查看实时日志
docker compose logs -f searxng
# 重启服务
docker compose restart
# 停止服务
docker compose down
# 完全清理(包括卷)
docker compose down -v
6.2 更新 SearXNG
# 拉取最新镜像
docker pull searxng/searxng:latest
# 停止当前服务
docker compose down
# 重新启动(使用新镜像)
docker compose up -d
# 清理旧镜像
docker image prune -f
6.3 备份配置
# 备份配置文件
Copy-Item -Path C:\searxng\searxng\settings.yml -Destination C:\searxng\backup\settings_$(Get-Date -Format "yyyyMMdd").yml
# 备份整个配置目录
Compress-Archive -Path C:\searxng\searxng\* -DestinationPath C:\searxng\backup\searxng_config_$(Get-Date -Format "yyyyMMdd").zip
6.4 故障排查
# 查看容器详细信息
docker inspect searxng
# 进入容器调试
docker exec -it searxng /bin/bash
# 检查网络连接
docker exec searxng ping -c 4 google.com
# 查看容器资源使用
docker stats searxng
# 检查端口占用
netstat -ano | findstr :8080
七、安全建议
7.1 基本安全配置
- 修改默认密钥:务必更改
SEARXNG_SECRET_KEY - 限制访问:使用防火墙限制访问 IP
- 启用 HTTPS:生产环境必须使用 HTTPS
- 定期更新:保持 Docker 镜像最新
7.2 防火墙配置
# Windows 防火墙允许 Docker
New-NetFirewallRule -DisplayName "Docker Desktop" -Direction Inbound -Action Allow -Program "C:\Program Files\Docker\Docker\Docker Desktop.exe"
# 限制 8080 端口访问(仅本地)
New-NetFirewallRule -DisplayName "SearXNG Local" -Direction Inbound -Action Allow -LocalPort 8080 -Protocol TCP -RemoteAddress 127.0.0.1
7.3 日志管理
# 限制日志大小(在 docker-compose.yml 中添加)
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
八、常见问题排查
问题 1:容器无法启动
# 检查 Docker 服务
Get-Service Docker
# 查看错误日志
docker compose logs searxng
# 检查端口冲突
netstat -ano | findstr :8080
问题 2:无法访问 Web 界面
# 检查容器是否运行
docker ps | findstr searxng
# 检查端口映射
docker port searxng
# 测试本地连接
curl http://localhost:8080
问题 3:搜索结果为空
# 检查引擎配置
docker exec searxng cat /etc/searxng/settings.yml
# 检查网络连接
docker exec searxng curl -I https://google.com
# 重置配置
docker compose down -v
docker compose up -d
九、性能优化建议
- 增加 Redis 缓存:已包含在默认配置中
- 调整并发连接:根据服务器性能调整
- 启用结果缓存:减少重复查询
- 限制搜索引擎数量:只启用需要的引擎
- 使用 SSD 存储:提高配置读取速度
十、总结
本指南详细介绍了在 Windows 系统上通过 Docker 容器化部署 SearXNG 的完整流程。通过遵循本指南,您可以:
- 在 Windows 上成功安装和配置 Docker Desktop
- 理解常用的 Docker 和 Docker Compose 命令
- 部署一个功能完整的 SearXNG 实例
- 进行日常维护和故障排查
- 实施基本的安全措施
SearXNG 是一个强大的隐私保护搜索引擎,适合个人使用或小型团队部署。如有更多高级需求,建议参考官方文档:https://docs.searxng.org/
文档版本: 1.0
最后更新: 2026-06-25
适用系统: Windows 10/11 + Docker Desktop

Comments NOTHING