谷歌会尽可能如何搭建一个个人搜索引擎searX

日期: 栏目:文章分享 浏览:1057 评论:0

最近懒惰附身,有一段时间没更新新内容了。几个月前水了一篇文章:还有什么搜索引擎可以替代百度?里面列举了很多其他搜索引擎作为替代方案。不过呢,介绍的这些搜索引擎也各有优缺点,比如使用谷歌进行搜索,那么搜索结果一般来说非常精确,不过谷歌会尽可能的搜集你的隐私信息,然后精确的给你推荐广告。又如使用 ,不会追踪你的个人隐私,不过有时候搜索结果可能没那么精确,这时候还是需要使用 !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

如图:

创建Dockerfile文件

然后 wq 保存即可。

构建镜像

	docker build -t searx .

构建镜像

构建成功后如下:

镜像构建成功

启动镜像

	docker run -d --name searx -p 8888:8888 searx 

这样,就搭建完成了,就可以使用 ip + 端口的方式进行访问,比如::8888/ 。访问后首页长这个样子:

searx首页界面

然后点击又上方的首选项,进入设置选项:

searx配置首选项

可以自己设置是否关闭某项设置,比如开启关闭 、 等搜索引擎支持,与及配置文件、图片、音乐、学术等搜索引擎。更多配置这里就不详细,如果你搭建后打开就一目了然。

进入searx首选项配置页面

如果是自己使用的话,那么使用 ip + 端口的方式已经可以满足了,不过有时候 ip 不好记,如果配置成域名访问,那么会方便很多。下面介绍下如何配置域名访问。

配置域名访问 SearX

首先,需要你已经购买入手了域名,免费域名可以看这篇教程:免费域名申请及设置域名解析。然后把域名解析到你的服务器 ip 。关于域名解析这里忽略。

下载安装 Caddy

	curl https://getcaddy.com | bash -s personal
	mkdir -p /etc/caddy && mkdir -p /etc/ssl/caddy

安装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 命令分开执行即可,注意,上面配置的 域名记得改为你自己的域名:

生成caddy配置文件

执行如下命令,创建 服务文件:

	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

生成systemd服务文件

然后启动Caddy:

	systemctl start caddy
	systemctl enable caddy

标签:

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。发布前请先查看评论规则:点我查看