当前位置: 首页> 健康> 养生 > AI搜索引擎Perplexica的本地部署(之一)SearXNG本地部署

AI搜索引擎Perplexica的本地部署(之一)SearXNG本地部署

时间:2025/7/11 17:55:16来源:https://blog.csdn.net/chengxuquan/article/details/141305669 浏览次数:0次

Perplexica 是一种开源的 AI 驱动的搜索工具或 AI 驱动的搜索引擎,它深入互联网以寻找答案。受 Perplexity AI 的启发,它是一个开源选项,不仅可以搜索网络,还可以理解您的问题。它使用先进的机器学习算法(如相似性搜索和嵌入)来优化结果,并通过引用的来源提供明确的答案。

使用 SearxNG 保持最新和完全开源,Perplexica 确保您始终获得最新信息,而不会损害您的隐私。

Perplexica的部署依赖于SearXNG,今天我们先介绍SearXNG在ubuntu22.04上的本地部署。然后接下来再介绍Perplexica。

SearXNG是一个免费的互联网元搜索引擎,它汇总了来自更多 超过 70 个搜索服务。github地址:https://github.com/searxng/searxng。换句话讲SearXNG是一个带有70个搜索网站的API库,有了他你可以使用全球70个搜索网站的各类信息。接下来让我们开启SearXNG的安装之旅。

本例中我们使用apache2作为它的发布站点,网站强列建议大家租用海外主机,国内主机绝大部分网站无法访问,只能浏览部分图片。小伙伴们可以去国内的大厂租用一台海外主机,配置吗2C2G就够了,因为个人使用量不会太大,可以使用按流量付费那种,带宽吗越大越好。

一:SearXNG安装

1、环境部署

apt-get install -y python3-dev python3-babel python3-venv uwsgi uwsgi-plugin-python3 git build-essential libxslt-dev zlib1g-dev libffi-dev libssl-dev

2、创建用户

useradd --shell /bin/bash --system --home-dir "/usr/local/searxng" --comment 'Privacy-respecting metasearch engine' searxng

3、创建工作目录及设置权限

sudo -H mkdir "/usr/local/searxng"
sudo -H chown -R "searxng:searxng" "/usr/local/searxng"

4、安装SearXNG和依赖项

#使用searxng用户登录
sudo -H -u searxng -i#克隆代码库
git clone "https://github.com/searxng/searxng"  "/usr/local/searxng/searxng-src"

5、安装python环境并创建SearXNG虚拟环境

#创建一个searx-pyenv的环境
python3 -m venv "/usr/local/searxng/searx-pyenv"#生成.profile文件
echo ". /usr/local/searxng/searx-pyenv/bin/activate"  >>  "/usr/local/searxng/.profile"

创建过程中如果提示缺少python文件,请根据提示自行安装。

6、安装SearXNG相关依赖

创建完.profile文件后退出此终端,再打开另一个终端,同样以searxng用户登录。

#searxng用户便当
sudo -H -u searxng -i
#验证python的安装及版本
(searxng)$ command -v python && python --version
#显示结果如下:
/usr/local/searxng/searx-pyenv/bin/python
Python 3.10.1# update pip's boilerplate ..
pip install -U pip
pip install -U setuptools
pip install -U wheel
pip install -U pyyaml#在searxng工作目录安装SearXNG
(searxng)$ cd "/usr/local/searxng/searxng-src"
(searxng)$ pip install -e .

7、配置searxng的设置文件

#在etc下创建searxng目录
sudo -H mkdir -p "/etc/searxng"#考贝settings.yml文件到/etc/searxng
sudo -H cp "/usr/local/searxng/searxng-src/utils/templates/etc/searxng/settings.yml"  "/etc/searxng/settings.yml"

编辑该文件:

vim /etc/searxng/settings.yml

# SearXNG settingsuse_default_settings: truegeneral:debug: falseinstance_name: "SearXNG"search:safe_search: 2autocomplete: 'duckduckgo'server:# Is overwritten by ${SEARXNG_SECRET}secret_key: "mysearxngkey123456"limiter: trueimage_proxy: true# public URL of the instance, to ensure correct inbound links. Is overwritten# by ${SEARXNG_URL}.# base_url: http://example.com/locationredis:# URL to connect redis database. Is overwritten by ${SEARXNG_REDIS_URL}.url: unix:///usr/local/searxng-redis/run/redis.sock?db=0ui:static_use_hash: true# preferences:
#   lock:
#     - autocomplete
#     - methodenabled_plugins:- 'Hash plugin'- 'Self Informations'- 'Tracker URL remover'- 'Ahmia blacklist'# - 'Hostnames plugin'  # see 'hostnames' configuration below# - 'Open Access DOI rewrite'# plugins:
#   - only_show_green_results

注意这里需要修改:

secret_key: "ultrasecretkey"怎么改都行,就是不能使用默认值:"ultrasecretkey"。

8、启动searxng

# start webapp
$ sudo -H -u searxng -i
(searxng)$ cd /usr/local/searxng/searxng-src
(searxng)$ export SEARXNG_SETTINGS_PATH="/etc/searxng/settings.yml"
(searxng)$ python searx/webapp.py

二:Apache2的配置

1、apache HTTP服务器

sudo -H apt-get install apache2

2、要加载其他模块

sudo -H a2enmod ssl
sudo -H a2enmod headers
sudo -H a2enmod proxy
sudo -H a2enmod proxy_http
sudo -H a2enmod proxy_uwsgi

3、生成Apache 的 SearXNG 站点

touch /etc/apache2/sites-available/searxng.conf


编辑文件
vim /etc/apache2/sites-available/searxng.conf

# -*- coding: utf-8; mode: apache -*-LoadModule ssl_module           /usr/lib/apache2/modules/mod_ssl.so
LoadModule headers_module       /usr/lib/apache2/modules/mod_headers.so
LoadModule proxy_module         /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module    /usr/lib/apache2/modules/mod_proxy_http.so
# LoadModule setenvif_module      /usr/lib/apache2/modules/mod_setenvif.so
#
# SetEnvIf Request_URI /searxng dontlog
# CustomLog /dev/null combined env=dontlog<Location /searxng>Require all grantedOrder deny,allowDeny from all# Allow from fd00::/8 192.168.0.0/16 fe80::/10 127.0.0.0/8 ::1Allow from all# add the trailing slashRedirectMatch  308 /searxng$ /searxng/ProxyPreserveHost OnProxyPass http://127.0.0.1:8888# see flaskfix.pyRequestHeader set X-Scheme %{REQUEST_SCHEME}sRequestHeader set X-Script-Name /searxng# see limiter.pyRequestHeader set X-Real-IP %{REMOTE_ADDR}sRequestHeader append X-Forwarded-For %{REMOTE_ADDR}s</Location># uWSGI serves the static files and in settings.yml we use::
#
#   ui:
#     static_use_hash: true
#
# Alias /searxng/static/ /usr/local/searxng/searxng-src/searx/static/

4、执行searxng安装脚本

sudo -H ./utils/searxng.sh install apache

5、启动站点searxng

sudo -H a2ensite searxng.conf

6、重启服务

sudo -H systemctl restart apache2
sudo -H service uwsgi restart searxng

三:运行

运行方法是:http://网站IP/searxng/

如果想使用https,可以向网站服务商申请ssl密钥。有关https的安装此处不再介绍安装方法了。

让我们用起来:

关键字:AI搜索引擎Perplexica的本地部署(之一)SearXNG本地部署

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: