Pixiv - KiraraShss
1013 字
5 分钟
Searx自建搜索平台全攻略:私有化部署实战指南
近找到了个好项目Searx,一个基于Python的完全开源免费搜索引擎平台,为你提供来自Google、Bing、Yahoo等70多种各大视频、图片、搜索、磁力等网站结果展示,并对搜索结果进行优化,同时不会存储你的任何搜索信息,搭建也很方便,有兴趣的可以搭建给需要谷歌的同事或朋友用下。
截图


手动安装
项目地址:https://github.com/asciimoo/searx
1、安装pip
#CentOS 6.x 32位rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpmyum install -y python-pip
#CentOS 6.x 64位rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpmyum install -y python-pip
#CentOS 7.xyum install -y epel-releaseyum install -y python-pip
#如果CentOS 7安装出现No package python-pip available,可以用以下命令进行安装wget https://bootstrap.pypa.io/get-pip.pypython get-pip.py
#Debian/Ubuntu系统apt-get -y updateapt-get -y install python-pip2、安装git
#Debian/Ubuntu系统apt-get -y install git
#CentOS系统yum -y install git3、编辑Searx
#拉取源码git clone https://github.com/asciimoo/searx.git#安装依赖cd searxpip install -r requirements.txt#编辑配置文件nano searx/settings.yml修改名称什么参数,应该都看的懂,自行设置,这里只说下4种参数:
language:为搜索语言,默认en-US,如果你的搜索以中文为主,那就改成zh-CN,当然这个语言在搜索界面也可以设置port:为监听端口,默认8888,可自行修改。bind_address:为监控地址,默认为127.0.0.1,如果需要让ip地址能被外网访问,就修改为0.0.0.0,这里建议默认,然后再用域名反代即可。secret_key:该参数为加密密匙,可自行设置,数值可以在ssh客户端使用openssl rand -hex 16命令生成。这里你也可以不用nano编辑器,直接使用命令修改:
#修改language,默认为中文搜索结果sed -i 's/language : "en-US"/language : "zh-CN"/g' searx/settings.yml#修改secret_keysed -i "s/ultrasecretkey/`openssl rand -hex 16`/g" searx/settings.yml#修改bind_address,改了后就可以使用ip访问了,如果你使用域名的话,可以不修改sed -i 's/bind_address : "127.0.0.1"/bind_address : "0.0.0.0"/g' searx/settings.yml#修改port,比如修改成8000sed -i "s/port : 8888/port : 8000/g" searx/settings.yml更多参数设置可以参考→传送门。
4、运行Searx
安装screen:
#CentOS系统yum install screen -y
#Debian/Ubuntu系统apt-get install screen -y后台运行:
screen -dmS python searx/webapp.py然后使用ip:port访问,如果你的bind_address地址没修改,可能浏览器会访问不了,就需要反代了,方法后面会说。
如果你修改了bind_address地址为0.0.0.0,还打不开媒体界面的话,还需要开启防火墙端口,使用命令:
#CentOS 6iptables -I INPUT -p tcp --dport 8888 -j ACCEPTservice iptables saveservice iptables restart
#CentOS 7firewall-cmd --zone=public --add-port=8888/tcp --permanentfirewall-cmd --reload如果你开了端口还不能打开,可能还需要去服务商后台开启对应的端口。
域名反代
这里是建议使用域名反代,反代可以用Nginx、Apache、Caddy,这里只说Nginx和Caddy。
Caddy
安装Caddy:
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
#备用地址wget -N --no-check-certificate https://blog.moewah.com/source/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh配置Caddy:
#以下全部内容是一个整体,请修改域名和邮箱后一起复制到SSH运行!
#http访问,该配置不会自动签发SSLecho "www.moewah.com { 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} }}" > /usr/local/caddy/Caddyfile
#https访问,该配置会自动签发SSL,请提前解析域名到VPS服务器echo "www.moewah.com { gzip tls admin@moewah.com 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} }}" > /usr/local/caddy/Caddyfiletls参数会自动帮你签发ssl证书,如果你要使用自己的ssl,改为tls /root/xx.crt /root/xx.key即可。后面为ssl证书路径。
启动Caddy:
/etc/init.d/caddy start就可以打开域名进行访问了。
Nginx
如果你使用其它的,这里就大概发个Nginx反代配置,直接添加到配置文件即可,不然搜出来的结果可能不会让你满意。
#在配置文件里添加 location / { proxy_pass http://127.0.0.1:8888; 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-Remote-Port $remote_port; proxy_set_header X-Forwarded-Proto $scheme; proxy_redirect off; }最后使用的时候,记得在高级设置那里将搜索语言设置成你需要的就行了。
推荐文章
基于标签匹配 · 智能推荐支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!
Searx自建搜索平台全攻略:私有化部署实战指南
https://blog.moewah.com/posts/796/
喵斯基部落