准备玩OpenClaw,为它构建个本地搜索服务器SearXNG。
安装
用官方脚本安装,很简单。系统debian13.7。
$ cd /usr/local/src
$ git clone https://github.com/searxng/searxng.git searxng
$ cd searxng
$ sudo -H ./utils/searxng.sh install all
升级
sudo -H ./utils/searxng.sh instance update
配置
配置文件默认为/etc/searxng/settings.yml
use_default_settings: true
general:
debug: false
instance_name: "SearXNG"
search:
safe_search: 2
autocomplete: 'duckduckgo'
formats:
- html
- json #启用json,OpenClaw依赖format=json
server:
# Is overwritten by ${SEARXNG_SECRET}
secret_key: "一串KEY"
limiter: false #关闭限流
public_instance: false
image_proxy: true
# public URL of the instance, to ensure correct inbound links. Is overwritten
# by ${SEARXNG_BASE_URL}.
# base_url: http://example.com/location
valkey:
# URL to connect valkey database. Is overwritten by ${SEARXNG_VALKEY_URL}.
url: valkey://localhost:6379/0
outgoing:
proxies:
http: http://代理服务器:端口 #一定要配置代理,要不各种超时。
https: http://代理服务器:端口
配合NGINX使用,方便局域网自己使用搜索服务
安装nginx
apt-get install nginx
在/etc/nginx/sites-enabled中创建vhost文档:searxng.conf,内容参考
server {
server_name searxng.awei.pub;
location / {
uwsgi_pass unix:///usr/local/searxng/run/socket;
include uwsgi_params;
uwsgi_param HTTP_HOST $host;
uwsgi_param HTTP_CONNECTION $http_connection;
# see flaskfix.py
uwsgi_param HTTP_X_FORWARDED_PROTO $scheme;
uwsgi_param HTTP_X_SCRIPT_NAME /searxng;
# see botdetection/trusted_proxies.py
uwsgi_param HTTP_X_REAL_IP $remote_addr;
uwsgi_param HTTP_X_FORWARDED_FOR $proxy_add_x_forwarded_for;
}
listen 443 ssl; # managed by Certbot
listen [::]:443 ssl;
http2 on;
ssl_certificate /usr/local/etc/nginx/ssl/cert.pem; # managed by Certbot
ssl_certificate_key /usr/local/etc/nginx/ssl/key.pem; # managed by Certbot
include /usr/local/etc/nginx/ssl/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /usr/local/etc/nginx/ssl/dhparam.pem; # managed by Certbot
add_header Strict-Transport-Security "max-age=31536000";
# To serve the static files via the HTTP server
#
# location /searxng/static/ {
# alias /usr/local/searxng/searxng-src/searx/static/;
# }
}
激活vhost配置
sudo -H ln -s /etc/nginx/sites-available/searxng.conf \
/etc/nginx/sites-enabled/searxng.conf
重启服务
sudo -H systemctl restart nginx
sudo -H service uwsgi restart searxng
注意几个小坑:
- 要给searxng配置代理,要不,各种超时;
- 要启用json,要不,openclaw用不了
- 要关闭limiter,要不限流。
