在UBUNTU上使用docker安装searxng

什么是searxng

searxng是一个基于python的,完全开源的一个搜索引擎结果聚合软件(可以说是一个可以自己部署的私有化搜索引擎)。通过使用searxng进行搜索,可以在一个页面中同时获取来自百度、bing、yandex等搜索引擎的结果。这个软件通过将你输入的搜索词发送到各个搜索引擎之中,然后将各大搜索引擎返回来的结果根据自己的算法进行重新排序,返回给用户。通过使用这个searxng,不仅可以避免自己被各个搜索引擎的跟踪器跟踪,而且(也是最重要的),由于数据是searxng处理过的,所以理所当然,搜索结果是没有任何广告的。

下面是示例的界面。

docker环境的准备

这个就不必多说,Ubuntu上面要安装好dockers以及docker-compose 才能进行后续的安装

又及:如果镜像拉取不下来的话,可以尝试将docker的镜像源换位毫秒镜像(https://1ms.run)

配置文件的准备

选择好一个心仪的目录,然后新建一个文件夹,我们要在里头放我们的配置文件

在这个文件夹中,新建一个文件叫做docker-compose.yml

然后往docker-compose.yml这个文件中写入下面的配置文件

version: '3'

services:
  searxng:
    image: searxng/searxng:latest
    container_name: searxng
    ports:
      - "8080:8080"
    volumes:
      - ./settings:/etc/searxng
    environment:
      - SEARXNG_BASE_URL=http://localhost:8080/
    restart: unless-stopped

写入完进行保存

启动容器

使用root权限登录服务器终端,换到刚刚的目录,执行下面的命令来拉取镜像,然后进行配置

前台模式启动命令(会实时输出容器中的内容)

docker-compose up

后台模式(会在后台运行)

docker-compose up -d

如果配置文件有更新,重启容器的命令如下

docker compose up -d

启动完成后,前往访问服务器8080端口,看看是否能够进行搜索。(记得关注下防火墙是否放行端口)

备注:为了方便后续的修改,我这个配置文件会将searxng的docker内部的配置文件映射到我们刚刚运行目录的settings文件夹,其中包含了settings.yml和uwsgi.ini这两个文件,方便我们进行后续的修改

反向代理的配置

由于一些因素,如果想要对这个程序进行反向代理的话,无需重写host(重写了更好)就可以进行反向代理,




location ^~ /
{
    proxy_pass http://127.0.0.1:8081;
    proxy_set_header Host search.example.org;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_http_version 1.1;
    # proxy_hide_header Upgrade;

    add_header X-Cache $upstream_cache_status;
    #Set Nginx Cache

    set $static_fileu0Ll0eC1 0;
    if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
    {
        set $static_fileu0Ll0eC1 1;
        expires 1m;
    }
    if ( $static_fileu0Ll0eC1 = 0 )
    {
        add_header Cache-Control no-cache;
    }
}

当然,别忘了在docker-compose.yml中将SEARXNG_BASE_URL改为你自己的地址。

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,记得载明出处。
内容有问题?想与我交流下?点此哦,欢迎前来交流~
上一篇
下一篇