最近懒惰附身,有一段时间没更新新内容了。几个月前水了一篇文章:还有什么搜索引擎可以替代百度?里面列举了很多其他搜索引擎作为替代方案。不过呢,介绍的这些搜索引擎也各有优缺点,比如使用谷歌进行搜索,那么搜索结果一般来说非常精确,不过谷歌会尽可能的搜集你的隐私信息,然后精确的给你推荐广告。又如使用 ,不会追踪你的个人隐私,不过有时候搜索结果可能没那么精确,这时候还是需要使用 !g 跳转到谷歌搜索。
那么有没有这样一款搜索引擎,既不追踪你的隐私,也能给出非常棒的搜索结果呢?当然还是有的,这个搜索引擎就是 ,不过该搜索引擎在国内已经无法使用,访问需搭梯。
基本上 已经非常好用了,隐私和搜索结果来说都做得非常好,就日常使用来说已经绰绰有余了。不过呢,对于喜欢折腾的小伙伴来说,如果可以搭建一个类似搜索引擎,并且可以做为个人专属搜索引擎来使用,既无广告,也无隐私泄露,那么是不是也是一件非常 cool 的事情。毕竟,生命不止,折腾不息。:)
扯了这么多废话,终于强行回到了正题(笑cry)。其实今天要介绍的就是如何搭建一个个人搜索引擎 searX 。如果你之前已经了解过了 searX如何访问google(谷歌)搜索引擎搜索,那么以下内容请忽略。文章末尾会附上搭建完成后的实例。
关于searX
关于 searX如何访问google(谷歌)搜索引擎搜索,是一个基于 开发的完全免费的开源项目, 地址: 。
Searx 从大约 82 种不同的搜索引擎中抓取搜索结果,然后整理优化后展示在前台搜索结果页面上。这些搜索引擎包括 Bing,,,,Yahoo和 等。而且还可以通过首页“首选项”界面进行设置,可以自定义设置是否启用、关闭某个搜索引擎的抓取结果。而且每次搜索结果会进行分类,分成 全部、文件、图片、IT、地图、音乐、新闻、学术、社交媒体、视频。根据这些分类,很容易找的自己想要的搜索内容。
在开始搭建之前,需要你入手一台国外 vps,关于国外 vps 可以参考: vps 推荐。为了搭建的简单快速,下面使用 的方法进行搭建。如果你不了解 ,那么在开始操作前,可以先简单了解下 的基本原理与及使用,关于 介绍可以参考这个文档: 。基本了解下镜像、容器,与及常用的创建、删除操作即可。
使用 搭建 searX
安装 Docker #CentOS 6 rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum update -y yum -y install docker-io service docker start chkconfig docker on
#CentOS 7、Debian、Ubuntu curl -sSL https://get.docker.com/ | sh systemctl start docker systemctl enable docker
构建
进入 /root 目录(也可以选择其他目录):
cd /root/
创建 文件:
vi Dockerfile
然后往文件里面写入:
FROM python:2.7.15-jessie WORKDIR / RUN printf "deb http://archive.debian.org/debian/ jessie main\ndeb-src http://archive.debian.org/debian/ jessie main\ndeb http://security.debian.org jessie/updates main\ndeb-src http://security.debian.org jessie/updates main" > /etc/apt/sources.list && \ apt-get -y update && \ apt-get -y install git && \ git clone https://github.com/asciimoo/searx.git && \ cd searx && \ pip install -r requirements.txt && \ sed -i "s/ultrasecretkey/`openssl rand -hex 16`/g" searx/settings.yml && \ sed -i 's/bind_address : "127.0.0.1"/bind_address : "0.0.0.0"/g' searx/settings.yml && \ sed -i 's/language : "en-US"/language : "zh-CN"/g' searx/settings.yml && \ cd searx/templates/oscar/ && \ sed -i '78d' preferences.html EXPOSE 8888 CMD python /searx/searx/webapp.py
如图:
然后 wq 保存即可。
构建镜像
docker build -t searx .
构建成功后如下:
启动镜像
docker run -d --name searx -p 8888:8888 searx
这样,就搭建完成了,就可以使用 ip + 端口的方式进行访问,比如::8888/ 。访问后首页长这个样子:
然后点击又上方的首选项,进入设置选项:
可以自己设置是否关闭某项设置,比如开启关闭 、 等搜索引擎支持,与及配置文件、图片、音乐、学术等搜索引擎。更多配置这里就不详细,如果你搭建后打开就一目了然。
如果是自己使用的话,那么使用 ip + 端口的方式已经可以满足了,不过有时候 ip 不好记,如果配置成域名访问,那么会方便很多。下面介绍下如何配置域名访问。
配置域名访问 SearX
首先,需要你已经购买入手了域名,免费域名可以看这篇教程:免费域名申请及设置域名解析。然后把域名解析到你的服务器 ip 。关于域名解析这里忽略。
下载安装 Caddy
curl https://getcaddy.com | bash -s personal mkdir -p /etc/caddy && mkdir -p /etc/ssl/caddy
配置 Caddy 配置文件,执行如下命令:
echo "www.coderschool.cn { gzip proxy / 127.0.0.1:8888 { header_upstream Host {host} header_upstream X-Real-IP {remote} header_upstream X-Forwarded-For {remote} header_upstream X-Forwarded-Proto {scheme} } }" > /etc/caddy/Caddyfile
#https访问,该配置会自动签发SSL,请提前解析域名到VPS服务器 echo "www.coderschool.cn { gzip tls [email protected] proxy / 127.0.0.1:8888 { header_upstream Host {host} header_upstream X-Real-IP {remote} header_upstream X-Forwarded-For {remote} header_upstream X-Forwarded-Proto {scheme} } }" > /etc/caddy/Caddyfile
上面两个 echo 命令分开执行即可,注意,上面配置的 域名记得改为你自己的域名:
执行如下命令,创建 服务文件:
echo "[Unit] Description=Caddy HTTP/2 web server Documentation=https://caddyserver.com/docs After=network-online.target Wants=network-online.target systemd-networkd-wait-online.service [Service] Restart=on-abnormal User=root Group=root Environment=CADDYPATH=/etc/ssl/caddy ExecStart=/usr/local/bin/caddy -log stdout -agree=true -conf=/etc/caddy/Caddyfile ExecReload=/bin/kill -USR1 \$MAINPID KillMode=mixed KillSignal=SIGQUIT TimeoutStopSec=5s [Install] WantedBy=multi-user.target" > /etc/systemd/system/caddy.service
然后启动Caddy:
systemctl start caddy systemctl enable caddy
评论留言