Loading... > 一个基于 Python 的完全开源免费搜索引擎平台,为你提供来自 Google、Bing、Yahoo 等 70 多种各大视频、图片、搜索、磁力等网站结果展示,并对搜索结果进行优化,同时不会存储你的任何搜索信息,搭建也很方便,有兴趣的可以搭建给需要谷歌的同事或朋友用下。 [官方 Github](https://github.com/searx/searx)  # 手动安装 ### 1、搭建python3环境及安装pip 详细教程见[在centos7下安装python3.7.9](https://isedu.top/index.php/archives/10/) ``` javascript #CentOS 7.x yum install -y epel-release yum install -y python-pip #如果CentOS 7安装出现No package python-pip available,可以用以下命令进行安装 wget https://bootstrap.pypa.io/get-pip.py python3 get-pip.py ``` ### 2、安装git ``` javascript #Debian/Ubuntu系统 apt-get -y install git #CentOS系统 yum -y install git ``` ### 3、编辑Searx ``` javascript #拉取源码 git clone https://github.com/searx/searx.git #安装依赖 cd searx pip3 install -r requirements.txt #编辑配置文件 nano searx/settings.yml ``` 修改名称什么参数,应该都看的懂,自行设置,这里只说下4种参数: ``` javascript language:为搜索语言,默认en-US,如果你的搜索以中文为主,那就改成zh-CN,当然这个语言在搜索界面也可以设置 port:为监听端口,默认8888,可自行修改8008。 bind_address:为监控地址,默认为127.0.0.1,如果需要让ip地址能被外网访问,就修改为0.0.0.0,这里建议默认,然后再用域名反代即可。 secret_key:该参数为加密密匙,可自行设置,数值可以在ssh客户端使用openssl rand -hex 16命令生成。 ``` 更多参数设置可以参考[WIKI](https://github.com/asciimoo/searx/wiki/settings.yml) ### 4、运行Searx 安装`screen`: ``` javascript #CentOS系统 yum install screen -y #Debian/Ubuntu系统 apt-get install screen -y ``` 后台运行: ``` javascript screen -dmS searx python3 searx/webapp.py ``` 然后使用`ip:port`访问,如果你的`bind_address`地址没修改,可能浏览器会访问不了,就需要反代了,方法后面会说。 如果你修改了`bind_address`地址为`0.0.0.0`,还打不开媒体界面的话,还需要开启防火墙端口, 如果你开了端口还不能打开,可能还需要去服务商后台开启对应的端口。 # Docker安装 这里貌似用官方的Dockerfile文件构建镜像的时候会报错,所以博主自己写了个Dockerfile文件,安装也很快。 Github地址:[项目 Github](https://github.com/myedunote/searx-docker) ### 1、安装Docker ``` javascript #CentOS 7、Debian、Ubuntu curl -sSL https://get.docker.com/ | sh systemctl start docker systemctl enable docker.service ``` ### 2、安装git ``` javascript Debian/Ubuntu系统 apt-get -y install git #CentOS系统 yum -y install git ``` ### 3、构建镜像 ``` javascript git clone https://github.com/myedunote/searx-docker cd searx-docker docker build -t searx . ``` ### 4、启动镜像 ``` javascript docker run -d --name searx -p 8008:8888 searx ``` # 域名反代 这里是建议使用域名反代的,反代可以用`Nginx`、`Apache`、`Caddy`,这里只说`宝塔`和`Caddy`。如果你网站有宝塔,就可以使用宝塔进行反代,如果没有,建议使用第2种的`Caddy`反代,配置很快。 ### 1、宝塔反代 先进入宝塔面板,然后点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击反向代理,目标`URL`填入`http://127.0.0.1:8008`,再启用反向代理即可。至于启用`SSL`就不说了,直接在站点配置就可以启用。 ### 2、Caddy反代 **安装`Caddy`:** ``` javascript 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://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh ``` **配置`Caddy`:** ``` javascript #以下全部内容是一个整体,请修改域名后一起复制到SSH运行! #http访问,该配置不会自动签发SSL echo "www.moerats.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.moerats.com { gzip tls admin@moerats.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 ``` `tls`参数会自动帮你签发`ssl`证书,如果你要使用自己的`ssl`,改为`tls /root/xx.crt /root/xx.key`即可。后面为`ssl`证书路径。 **启动`Caddy`:** ``` javascript /etc/init.d/caddy start ``` 就可以打开域名进行访问了。 ### 3、Nginx配置 如果你使用其它的,这里就大概发个`Nginx`反代配置,直接添加到配置文件即可,不然搜出来的结果可能不会让你满意。 #在配置文件里添加 ``` javascript location / { proxy_pass http://127.0.0.1:8008; 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; } ``` 最后使用的时候,记得在高级设置那里将搜索语言设置成你需要的就行了。 最后修改:2022 年 11 月 21 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏
此处评论已关闭