每次使用百度搜索,前面几条永远是广告,甚至还有“假官网”“假医院”,搞得每次都得甄别有没有带“广告”标,再点进去,所以有用的信息没找到,时间到是浪费了不少。所以我就想自己建个无广告、不追踪隐私的搜索引擎,当然重新开发是不可能的,所幸在github找到了个聚合搜索神器——SearX

软件介绍

Searx是一个免费的互联网元搜索引擎,汇集了70多种搜索服务的结果。 用户既不被跟踪也不被分析。 此外,searx可以在Tor上实现在线匿名搜索。

基本安装

下面是基于 Debian/Ubuntu 和 virtualenv 的安装指南,如果是 Ubuntu 请确认使用的是 universe 仓库。

安装依赖包:

sudo apt-get install git build-essential libxslt-dev python-dev python-virtualenv python-babel zlib1g-dev libffi-dev libssl-dev

安装 searx:

cd /usr/local
sudo git clone https://github.com/asciimoo/searx.git
sudo useradd searx -d /usr/local/searx
sudo chown searx:searx -R /usr/local/searx

在 virtualenv 中安装依赖:

sudo -u searx -i
cd /usr/local/searx
virtualenv searx-ve
. ./searx-ve/bin/activate
./manage.sh update_packages

配置

sed -i -e "s/ultrasecretkey/`openssl rand -hex 16`/g" searx/settings.yml

根据需要修改 searx/settings.yml,在该文件中修改语言和访问IP地址及端口

检查

启动 searx:

python searx/webapp.py

浏览器访问 http://localhost:8888

如果一切工作正常,可以在 settings.yml 中禁用调试选项:

sed -i -e "s/debug : True/debug : False/g" searx/settings.yml

配合 uwsgi 使用

安装依赖包

sudo apt-get install uwsgi uwsgi-plugin-python

创建配置文件 /etc/uwsgi/apps-available/searx.ini,内容如下:

[uwsgi]
# Who will run the code
uid = searx
gid = searx# disable logging for privacy
disable-logging = true# Number of workers (usually CPU count)
workers = 4# The right granted on the created socket
chmod-socket = 666# Plugin to use and interpretor config
single-interpreter = true
master = true
plugin = python
lazy-apps = true
enable-threads = true# Module to import
module = searx.webapp# Virtualenv and python path
virtualenv = /usr/local/searx/searx-ve/
pythonpath = /usr/local/searx/
chdir = /usr/local/searx/searx/

激活 uwsgi 应用并重启

cd /etc/uwsgi/apps-enabled
ln -s ../apps-available/searx.ini
/etc/init.d/uwsgi restart

Web 服务器

nginx

使用如下命令安装 Nginx

sudo apt-get install nginx

配置到 / 根路径

创建配置文件 /etc/nginx/sites-available/searx 内容如下:

server {listen 80;server_name searx.example.com;root /usr/local/searx;location / {include uwsgi_params;uwsgi_pass unix:/run/uwsgi/app/searx/socket;}
}

重启服务:

sudo service nginx restart
sudo service uwsgi restart

配置到指定路径 (/searx)

添加配置文件 /etc/nginx/sites-enabled/default 内容如下:

location = /searx { rewrite ^ /searx/; }
location /searx {try_files $uri @searx;
}
location @searx {uwsgi_param SCRIPT_NAME /searx;include uwsgi_params;uwsgi_modifier1 30;uwsgi_pass unix:/run/uwsgi/app/searx/socket;
}

或者使用反向代理(适合单用户使用或者低访问量的实例)

location /searx {proxy_pass http://127.0.0.1:8888;proxy_set_header Host $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Scheme $scheme;proxy_set_header X-Script-Name /searx;proxy_buffering off;
}

编辑 searx/settings.xml 中的 base_url

base_url : http://your.domain.tld/searx/

重启服务:

sudo service nginx restart
sudo service uwsgi restart

为了更好的保护隐私,可以禁用日志,在 /etc/nginx/sites-available/default 的 uwsgi_pass 下面增加如下内容:

access_log /dev/null;
error_log /dev/null;

重启服务

sudo service nginx restart

apache

增加 wsgi mod:

sudo apt-get install libapache2-mod-uwsgi
sudo a2enmod uwsgi

增加配置内容到 /etc/apache2/apache2.conf:

<Location />Options FollowSymLinks IndexesSetHandler uwsgi-handleruWSGISocket /run/uwsgi/app/searx/socket
</Location>

N注意,如果你的 searx 实例不是部署在根路径,需要修改 <Location /> 配置信息,如 <Location /searx>.

重启 Apache:

sudo /etc/init.d/apache2 restart

禁用日志

回到配置文件 /etc/apache2/apache2.conf 在 <Location /> 指令上方增加:

CustomLog /dev/null combined

重启 Apache:

sudo /etc/init.d/apache2 restart

如何更新

cd /usr/local/searx
sudo -u searx -i
. ./searx-ve/bin/activate
git stash
git pull origin master
git stash apply
./manage.sh update_packages
sudo service uwsgi restart

Docker

确认你已装有 Docker ,然后使用如下命令来部署 searx:

docker pull wonderfall/searx
docker run -d --name searx -p $PORT:8888 wonderfall/searx

打开浏览器访问 http://localhost:$PORT.

更多的帮助请看 Docker Hub

你也可以通过 Dockerfile 来构建 searx

git clone https://github.com/asciimoo/searx.git
cd searx
docker build -t whatever/searx .

参考资料

Searx – About me

演示 http://ma-so.com

手把手搭建属于自己的搜索引擎——SearX相关推荐

  1. 用python搭建个人博客过程_手把手搭建个人博客(图文教程)

    搭建个人博客 浏览体验更棒请移步原文:手把手搭建个人博客 首先我们谈一谈搭建个人博客必要性,个人认为在学习过程中,被动接受知识对你的提高是轻微的.比如你看网课学习,在听老师讲解的时候感觉简单易懂,代码 ...

  2. 手把手搭建企业IT实战环境第三季:快速搭建SCCM1902服务器

    手把手搭建企业IT实战环境第三季:快速搭建SCCM1902服务器 ©Lander Zhang 专注外企按需IT基础架构运维服务,IT Helpdesk 实战培训践行者 博客:https://blog. ...

  3. PHP svn开发环境搭建,手把手搭建WAMP+PHP+SVN开发环境,wampsvn_PHP教程

    手把手搭建WAMP+PHP+SVN开发环境,wampsvn 一:WAMP 这款软件在安装的过程中就已经把Apache.MySQL.PHP继承好了,而且也做好了相应的配置,除此之外,还加上了SQLite ...

  4. 大数据之Hadoop3.x 运行环境搭建(手把手搭建集群)

    文章目录 写在开头 安装包准备 一.Hadoop运行环境搭建(开发重点) 1.1 模板虚拟机环境准备 1.2 克隆虚拟机 1.3 在hadoop102安装JDK 1.4 在hadoop102安装Had ...

  5. 从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(三) (mini-cloud) 搭建认证服务(认证/资源分离版) oauth2.0 (中)

    本文承接上文<从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(三) (mini-cloud) 搭建认证服务(认证/资源分离版) oauth2.0 (上)> ...

  6. 02 DIY流星观测站——手把手搭建指南

    相关系列文章 01 DIY流星观测站 02 DIY流星观测站--手把手搭建指南 03 DIY流星观测站--设备选型与采购 04 DIY流星观测站--镜头简介 05 DIY流星观测站--相机简介 该教程 ...

  7. 从0到1手把手搭建spring cloud alibaba 微服务大型应用框架(十五) swagger篇 : gateway 集成swagger 与 knife4j实现在线api文档并嵌入到自己项目内

    背景 我们日常开发中基本都是协同开发的,当然极个别的项目整体前后端都是一个人开发的,当多人协作时,尤其是前后端人员协同开发时 必然会面临着前端需要了解后端api接口的情况,两个选择,提前设计好文档,然 ...

  8. 视频教程-手把手搭建Java金融借贷系统【附源码】(毕设)-Java

    手把手搭建Java金融借贷系统[附源码](毕设) 南京大学软件工程硕士,全栈开发工程师,全栈讲师. 曾就职于中软国际.擎天科技.华为等公司,擅长Java开发.Web前端.Python爬虫.PHP等领域 ...

  9. “花朵分类“ 手把手搭建【卷积神经网络】

    前言 本文介绍卷积神经网络的入门案例,通过搭建和训练一个模型,来对几种常见的花朵进行识别分类: 使用到TF的花朵数据集,它包含5类,即:"雏菊","蒲公英",& ...

最新文章

  1. mysql基础什么意思,Mysql一些基本概念
  2. 把Lumia 610C作为3G路由器
  3. 语法手册_是真的猛!SQL 语法速成手册
  4. c# 设计原则需要学习吗_向最好的学习:产品设计原则
  5. 双光子荧光成像_有机双光子荧光染料在生物成像中的应用取得新进展
  6. Xcode10:library not found for -lstdc++.6.0.9 临时解决
  7. Cocos开发中性能优化工具介绍(一):Xcode中Instruments工具使用
  8. c语言病毒恶搞代码大全,恶搞病毒代码案例分析
  9. 怎样修补渔网_渔网修补的方法
  10. winpe加载raid_WinPE安装RAID卡驱动的详细教程
  11. 经历过CMMI后的体会和总结,为什么别人的时间总是比你的值钱
  12. APP弱网络条件下,体验优化之道
  13. 阿里的 P8 和 P9 到底是什么水平
  14. linux系统常用命令列举
  15. 如何查看wifi设备
  16. 书籍特别推荐:2018-06薛兆丰经济学讲义+魔鬼经济学(四本)
  17. 消费税简介、消费税税目 、消费税税率 、消费税计算、综合练习
  18. 计算机三维机械设计基础答案,计算机三维建模复习题.docx
  19. 猎豹移动Q3手游业务环比增106% 《砖块消消消》表现优异
  20. 多线程爪巴虫下载进击的巨人 v.1

热门文章

  1. [软件测试]软件测试的原则及软件质量
  2. 2021年11月23日对自己的一次鼓励
  3. 朋友圈信息流广告案例(仙侠游戏)
  4. 于IIS 7的HTTP 错误 500.0 - Internal Server Error(错误代码:0x800700.
  5. 奇怪的汉诺塔 Four Column Hanoi Tower
  6. linux系统鼠标左键失灵,鼠标左键不灵敏如何修复 鼠标左键不灵敏解决方法【图文】...
  7. 道家·老子的算法思想分析
  8. NYOJ:71-独木舟上的旅行
  9. 如何使用3D Converter将2D视频转换为3D?
  10. 在线JSON转TSV工具