关于实习第一个任务就是部署SearXNG并且把集成搜狗微信这件事

一、什么是SearXNG

SearXNG 是一个免费的互联网元搜索引擎,它来自各种搜索服务和数据库的结果。用户既不被跟踪,也不会被分析。

其中NG意味next generation,表示下一代,听说是项目组内部对SearX未来发展意见不合而产生的分支

简单来说,SearXNG是一个同时集成了Google、Yahoo、Bilibili甚至Pivix等各式各样的搜索引擎的搜索引擎(哈哈),并且不会被收集用户数据,以达到阻止个性化推荐这样的服务。如果你是一个注重隐私保护的用户,用用searxng也是不错的。

二、如何将SearXNG部署到自己的电脑上

作为一个不知道什么职位的什么都不会的小白,其实一开始拿到这个任务我是懵逼的。

什么是部署?怎么部署?给了我一个github链接我却连看都看不懂怎么办?

1.看懂SearXNG源

GItHub链接

一般来说,看懂一个github项目,首先看Readme(读我)

它的readme写的很简略,是因为它其实有一个专门的“说明书”,点击“homepage”就能跳转

我花了很长时间才搞清楚这份说明书的“架构”,最终锁定在“step by step installation”这一栏,里面详尽地说明了如何在本地部署自己的SearXNG,虽然是纯英文的

2.部署环境的准备

话又说回什么是部署了,到底什么是部署?我以为,部署就是把这个项目的源下载到你的电脑(或者说本地)上,以便于你自己开发调试,增加或减少自己想要的功能。例如我就需要在它集成了这么多搜索引擎的基础上,再集成一个搜狗微信的引擎。相当于,你在别人的源代码的基础上,开发出了一个个性化的属于你自己的SearXNG.可能这就是开源项目的魅力吧。

SearXNG是基于docker环境或者python环境开发的,但我不太懂什么是docker,而且貌似我的系统装不了docker?就选择基于python环境开发。(说实话我也不是很懂什么叫基于某某环境?)

(1)Anaconda

Anaconda介绍

以前不理解Anaconda的用处在哪里,想着写python用pycharm不就行了吗?

没错,在学校读书只会用pycharm写代码是这样的,我们做项目的考虑可就多了。

一个项目的部署或者叫运行,需要特定的环境,这个环境包括python的版本,以及这种包的版本。不同的项目需要的版本是不同,这Anaconda的作用就在于可以便捷的获取包,以及方便的管理不同的环境,而这些在pycharm实现起来则相对复杂。

Anaconda的下载相信大家都没问题,这里贴上我写的Anaconda的基本使用语句的blog

​​​​​​Anaconda虚拟环境的配置

Anaconda虚拟环境配置

那么,我们究竟要配置什么样的环境呢?这时候我们就要深入项目文件中一探究竟。

首先我们在"setup.py"文件中看到这么一句话“python_requires='>=3.8'”
也就是说我们需要3.8版本以上的python解释器

conda create --name searxng python=3.9

这里我们创建了一个叫“searxng”的版本为3.9的环境
接下来,我们观察它的项目文件中,有一个叫“requirements.txt”的文件,一般来说,一个项目的“依赖”,也就是它运行所需要的包的目录都在这个文件里写着。那么我们怎么一次性把该文件里的包一次性安装好呢?

pip install -r "requirements.txt"

这条语句将文件里的包一次性全部安装好。
注意!!!在此之前,需要用cd命令进去requirements所在的文件夹(在此之前你需要将github上的项目下载到本地),否则conda是不知道这个文件在什么地方的。
这时候我们发现,诶?怎么报错了?
原因在于,UVLoop底层使用了Unix/Linux系统的API,因此目前无法在Windows系统上安装和使用!看来我使了个坏,白忙活了一场。

(2)虚拟机与Linux

在windows系统上行不通,那我们就只能在linux系统上进行接下来的操作了,而linux系统(没有意外的话)则需要在虚拟机上构建。
教程我是看的阿b的视频-->VMware及ubuntu安装
全程无废话,这是真的。互联网真好,想学什么上网一搜就有。
ps:unbuntu(乌班图)可以理解成是linux的一个系统型号,就像win10、winX之于windows.


接下来,我们要

1.安装anaconda(尝试使用命令安装)
进入anaconda官网,找到这个界面

右键,选择复制链接。
这时候打开ubuntu,使用Ctrl+Alt+T打开终端
输入以下命令

wget https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh

等待下载完成后,再输入

bash ~/Downloads/Anaconda3-2024.06-1-Linux-x86_64.sh

注:该语句指定了安装路径“~/Downloads/"已经安装包名称“Anaconda3-2024.06-1-Linux-x86_64.sh”,有需要可以更改路径,注意包名称与wget命令保持一致

接下来,依照上文方法配置完环境(searxng)后,我们用git clone命令将项目安装在Ubuntu本地

(searxng)$ git clone "https://github.com/searxng/searxng" \
                   "/home/usr/searxng"

接下来,我们需要安装指定包。与上文大同小异,此处不再赘述。

值得注意的是,环境配置环境有很关键一步如下,尽管我还不知道它的作用是什么

(searxng)$ cd /home/usr/searxng
(searxng)$ pip install -e .

至此,环境配置相关基本完成。

3.虚拟机网络代理配置

首先,代理软件开启允许局域网连接

同时,记住我们的端口号7890

接下来,我们要找我们本地计算的ip

方法一

代理软件可能会自带有,这里的WLAN就是我们的ip地址

方法二

win+R,输入cmd,打开命令行窗口

C:\Users\Lenovo>ipconfig

可以看到我们的IPv4地址,与刚才是一致的

紧接着,我们配置虚拟机

这一步表示虚拟机的所有网络服务操作交给主机去执行

打开虚拟机,找到网络设置

将网络代理改为手动,将这三行ip改为刚才我们查询到的ip,端口号也记得更改

此时我们已经能使用google等网站了

最后,找到searxng-->searx-->settings.yml文件

找到proxies,默认是被注释掉的,我们取消注释,并添加我们刚才查询到的ip地址

yml文件对缩进很敏感,请一定注意

4.SearXNG?启动!

$ sudo -H mkdir -p "/etc/searxng"
$ sudo -H cp "/usr/local/searxng/settings.yml" \
             "/etc/searxng/settings.yml"

首先在虚拟机终端执行这两条语句,命令1在指定路径创建文件夹,命令2将配置文件复制到刚才创建的文件夹

$ sudo -H sed -i -e "s/debug : False/debug : True/g" "/etc/searxng/settings.yml"
(searxng)$ cd /usr/local/searxng/searx
(searxng)$ export SEARXNG_SETTINGS_PATH="/etc/searxng/settings.yml"
(searxng)$ python webapp.py

接着执行这四条语句,语句1打开调试模式,语句2进去指定路径,语句3引用环境变量,语句4运行app

这时候,如果没有报错,我们在虚拟机的浏览器上进入

http://127.0.0.1:8888

便成功启动SearXng了

三、如何集成微信搜索引擎到SearXNG

不出意外的话,终于要开始coding了

1.准备工作:使用VSCode远程调试虚拟机文件

详情见-->详细教学

糟糕,ssh: connect to host XXXX port 22: Connection refused

详情点击下方链接

SSH ERROR

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值