最近百毒的各种骚操作引发了热议,人民网更是推出了《三评“百毒已死?”》的文章来呼吁提供优质服务。许多人也转向了Bing和谷歌。但由于谷歌在国内被墙,对一些人来说访问起来是有点困难的;而Bing前些天也是被封锁了一阵子。最近在@Rat's Blog的这篇文章发现了一个基于Python的完全开源免费搜索引擎平台Searx,今天来尝试使用AWS的EC2服务器来搭建这个项目。
项目地址:https://github.com/asciimoo/searx
首先进入AWS启动一个EC2,我这里使用的使用的是ubuntu18.04(64位)的服务器。使用Xshell和下载的秘钥登陆服务器,输入:sudo passwd root
根据提示设置root用户的密码,再输入:su root
输入刚才设置的密码切换到root用户,输入cd
返回根目录。
接下来先更新安装pip和git:
#更新
apt-get -y update
#安装pip
apt-get -y install python-pip
#安装git
apt-get -y install git
开始部署Searx:
#拉取源码
git clone https://github.com/asciimoo/searx.git
#安装依赖
cd searx
pip install -r requirements.txt
接下来解释一下Searx的一些参数:
language:为搜索语言,默认en-US,如果你搜索以中文为主,那就改成zh-CN,这个语言在搜索界面也可以设置,我们这边保持默认
port:为监听端口,默认8888,可自行修改。我们这边保持默认。请注意!如果你服务器要安装宝塔的话请更改这个端口!宝塔默认登陆地址为http://ip:8888/随机字符组合
bind_address:为监控地址,默认为127.0.0.1,如果需要让ip地址能被外网访问,就修改为0.0.0.0,我们这里保持默认.
secret_key:该参数为加密密匙,可自行设置,数值可以在ssh客户端使用openssl rand -hex 16命令生成。
更多参数设置可以参考→searx参数设置
了解参数后,开始编辑参数。你可以使用nano编辑器进行修改:nano searx/settings.yml
但我们这里使用命令修改更方便:
#修改language,默认为中文搜索结果
sed -i 's/language : "en-US"/language : "zh-CN"/g' searx/settings.yml
#修改secret_key
sed -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,比如修改成8000
sed -i "s/port : 8888/port : 8000/g" searx/settings.yml
请注意:如果要修改其他参数需要使用nano编辑器进行修改!大家省事的话直接用命令进行修改。
接下来安装screen并将Searx放到后台运行:
#安装screen
apt-get install screen -y
#放后台运行:
screen -dmS python searx/webapp.py
如果你上面有修改bind_address为'0.0.0.0'的话这时候就可以使用 ip:port 进行访问了。如果你的bind_address地址没修改,可能浏览器会访问不了。如果你修改了bind_address地址为'0.0.0.0',还打不开媒体界面的话,还需要开启防火墙端口,使用命令:
sudo ufw allow 8888
如果你上面修改了端口,将上面的8888改为你设置的端口。如果还是不行,可能还需要去服务商后台开启对应的端口。AWS的EC2在安全组位置进行修改。
接下来使用逗比的一键脚本来使用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
配置Caddy:
#以下全部内容是一个整体,请修改域名后一起复制到SSH运行!注意修改所有的域名及邮箱!
#http访问,该配置不会自动签发SSL
echo "www.doratree.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.doratree.com {
gzip
tls admin@doratree.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/Caddyfile
启动Caddy:
/etc/init.d/caddy start
然后打开你的域名就可以正常使用了。
本文基于Rat's Blog的文章的基础上再创作!原文链接:https://www.moerats.com/archives/875/
版权声明:本文为原创文章,版权归 Helo 所有。
本文链接:https://www.ishelo.com/archives/26/
商业转载请联系作者获得授权,非商业转载请注明出处。