SearXNG·自己搭建一个搜索引擎

前言

你是否每天面对着上万广告而不能正确找到答案的搜索引擎？那可以试着去搭建一个自己的搜索引擎。你可以通过下方的 RSS 按钮来订阅本站点。

搭建环境

服务器：用的是阿里云的香港机，你也可以去买国外的特价机，优先选非中国大陆机，配置是 2H2G，（理论上 1H1G 也可以搭建）

系统是 Centos，教程用的都是 Centos，你也不用特地重装到 Centos，我只是习惯使用 Centos 而已。

Docker 环境

docker-compose

搭建教程

Docker

可以使用 Docker 一键安装命令安装，应该不会出什么差错。（在我这里不会）

Copy
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

也可以使用国内 daocloud 一键安装命令

Copy
curl -sSL https://get.daocloud.io/docker | sh

Copy
docker -v #查看Docker版本

systemctl enable docker #设置开机启动

安装 docker-compose

Copy
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.1.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

docker-compose --version #查看docker-compose版本

安装 searxng

先帮配置文件安排个家（安排一个路径）

Copy
cd /usr/local

然后 git clone

Copy
git clone https://github.com/searxng/searxng-docker.git

反向代理

因为默认使用的是 Caddy 反代。如果你的服务器同时使用 如果你的服务器同时使用 Nginx 运行别的网站的话就会导致你无法运行 SearXNG，你也可以放弃 Nginx 。

修改 env 配置文件

Copy
nano .env #将注释删除，修改host为你的域名，修改email为你的邮箱。

修改完成后按 Ctrl + X 退出，按 Y 保存修改，回车确定。

生成密钥，直接执行命令

Copy
sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml

下面步骤我会使用到宝塔面板，如果不会安装宝塔面板，请到宝塔的官网来使用安装命令安装宝塔面板。

首先找到配置文件的家
将 docker-compose.yaml 中关于 Caddy 的部分删除

有需要修改端口的在这里修改

然后用宝塔添加反代配置，目标 URL 为 http://127.0.0.1:8080 ，如果上面修改了端口则将 8080 替换为修改的端口，提交

点击反向代理的配置文件

把里面的内容全删了，改成下面这些代码

Copy
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header Connection $http_connection;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
proxy_buffering off;
}

注意上面的 8080 改成你设置的端口，然后保存。

Nginx 反代成功。

启动 SearXNG

先保证你在 searxng-docker 这个目录，如果不在，请通过下方命令来 cd 到这个目录

Copy
cd /usr/local/searxng-docker

然后启动 SearXNG

Copy
sudo docker-compose up

运行没问题就丢 Docker 守护进程吧

Copy
sudo docker-compose up -d