前言
这几天偶然发现Searx官方git上更新了v0.17
,就想着来波升级。没想到安装方法和环境依赖都发生了变化,原来按照moe大佬的简易方法和官方的完整安装法都不行,看报错应该是Python 2.7
已经失去支持,后来连回滚都碰到了问题,好在最后在官方git上的这个issue里找到解决方案。记录下现在最后一个能用简易方法安装的版本v0.16
吧
安装
安装主程序
#拉取v0.16源码
git clone https://github.com/asciimoo/searx/archive/v0.16.0.tar.gz
#解压
tar-zxvf v0.16.0.tar.gz
#重命名
mv v0.16.0 searx
#安装依赖
cd searx
pip install -r requirements.txt
#卸载默认的v1.00的Werkzeug
pip uninstall Werkzeug
#安装指定版本的Werkzeug
pip install Werkzeug==0.16.0
#编辑配置文件
nano searx/settings.yml
修改参数
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命令生成。
运行
#赋予脚本执行权限
cd searx
chmod +x webapp.py
#试运行脚本
./webapp.py //如果没有因报错而中断则说明成功
#后台运行
nohup ./webapp.py &
#浏览器打开域名+端口即可访问
域名反代
我用的是Apache2
,如果用Ngnix
或Caddy
的可以前往moe大佬的这篇博客中查看具体方法
#在default-ssl.conf中添加如下配置
#searx
<VirtualHost _default_:1234> //反代端口号
ServerAdmin webmaster@localhost
Servername xxx.com //自己的域名
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/xxx.crt //主证书路径
SSLCertificateKeyFile /etc/apache2/ssl/xxx.key //密钥路径
SSLCertificateChainFile /etc/apache2/ssl/xxx.crt //中间证书路径
<Location />
Order allow,deny
Allow from all
</Location>
RewriteEngine On
RewriteCond %{HTTP:Upgrade} =websocket [NC]
RewriteRule /(.*) ws://localhost:4321/$1 [P,L] //上文中setting.yml中修改的端口
RewriteCond %{HTTP:Upgrade} !=websocket [NC]
RewriteRule /(.*) http://localhost:4321/$1 [P,L] //上文中setting.yml中修改的端口
ProxyPassReverse / http://localhost:4321/ //上文中setting.yml中修改的端口
</VirtualHost>
最后
Searx
作为一个Google
的替代确实是不错的,不过我不会说我用的最多的是他的文件搜索功能,谁用谁知道
发表回复