在Linux 服务器上使用的免费本地大模型可以接入网站当中使用,以实现Grok聊天模式的人机对话和搜索整合内容的方法分享.
在 Linux 服务器(推荐 Ubuntu 22.04 / 24.04 LTS)上完全不使用 Docker 的原生部署方案,实现 Ollama + Open WebUI + SearXNG 的完整 Grok-like 聊天网站(人机对话 + 自动搜索整合内容)。
整个过程纯命令行操作,生产就绪(systemd 自动启动、后台运行),数据全部本地,免费、无限使用。假设你已以 root 或具有 sudo 权限的用户登录服务器。
1,系统准备(所有步骤前执行)
Bashsudo apt update && sudo apt upgrade -y
sudo apt install -y curl git python3 python3-venv python3-pip python3-dev build-essential
uwsgi uwsgi-plugin-python3 libxslt-dev zlib1g-dev libffi-dev libssl-dev ufw
sudo ufw allow 22 # SSH
sudo ufw allow 8080 # Open WebUI 端口(后续可改用 Nginx 反代到 80/443)
sudo ufw --force enable
2,安装 Ollama(本地大模型引擎 + systemd 服务)
Bash# 一键安装(自动创建 ollama 用户和 systemd 服务)
curl -fsSL https://ollama.com/install.sh | sh
3,让 Ollama 在服务器上所有 IP 监听(否则 Open WebUI 可能连不上)
sudo systemctl edit ollama
在弹出的编辑器中粘贴以下内容后保存退出:
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
sudo systemctl daemon-reload
sudo systemctl restart ollama
sudo systemctl enable ollama
sudo systemctl status ollama # 确认 active (running)
4,拉取推荐模型(中文最强,支持工具调用)
ollama pull qwen3:8b # 轻量,推荐入门
ollama pull qwen3:32b # 更强(需 24GB+ 内存/GPU)
ollama pull llama3.3:70b # 备选
Ollama API 地址:http://127.0.0.1:11434(服务器内网)或 http://你的服务器IP:11434。
6. 安装 Open WebUI(网页聊天界面 + systemd 服务)
使用官方最简单的 pip 方式(无需 Node.js 构建前端)。
Bash# 创建专用用户和目录(推荐)
sudo useradd -r -s /bin/false -m -d /opt/open-webui openwebui
sudo chown -R openwebui:openwebui /opt/open-webui
7,切换到 openwebui 用户安装
sudo -H -u openwebui -i
python3 -m venv /opt/open-webui/venv
source /opt/open-webui/venv/bin/activate
pip install --upgrade pip
pip install open-webui
8,测试运行(Ctrl+C 退出)
open-webui serve --host 0.0.0.0 --port 8080
创建 systemd 服务(开机自启):
Bashexit # 退出 openwebui 用户
sudo nano /etc/systemd/system/open-webui.service
粘贴以下内容:
ini[Unit]
Description=Open WebUI (Ollama Chat Interface)
After=network.target ollama.service
[Service]
Type=simple
User=openwebui
Group=openwebui
WorkingDirectory=/opt/open-webui
Environment="PATH=/opt/open-webui/venv/bin"
ExecStart=/opt/open-webui/venv/bin/open-webui serve --host 0.0.0.0 --port 8080
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
9,启动服务:
Bashsudo systemctl daemon-reload
sudo systemctl enable --now open-webui
sudo systemctl status open-webui
浏览器访问 http://你的服务器IP:8080,首次创建管理员账号。
在右上角设置 → Connections 中确认 Ollama Base URL 为 http://127.0.0.1:11434(默认自动连接)。
10. 安装 SearXNG(本地隐私搜索引擎 + systemd 服务)
Bash# 安装依赖
sudo apt install -y python3-dev python3-babel python3-venv python-is-python3
uwsgi uwsgi-plugin-python3 git build-essential libxslt-dev zlib1g-dev libffi-dev libssl-dev
11,创建 searxng 用户
sudo useradd --shell /bin/bash --system
--home-dir "/usr/local/searxng"
--comment 'Privacy-respecting metasearch engine' searxng
sudo mkdir -p "/usr/local/searxng"
sudo chown -R searxng:searxng "/usr/local/searxng"
12,切换到 searxng 用户操作
sudo -H -u searxng -i
git clone https://github.com/searxng/searxng "/usr/local/searxng/searxng-src"
python3 -m venv "/usr/local/searxng/searx-pyenv"
echo ". /usr/local/searxng/searx-pyenv/bin/activate" >> "/usr/local/searxng/.profile"
13,重新登录以激活 venv
exit
sudo -H -u searxng -i
14,安装 Python 包
pip install -U pip setuptools wheel pyyaml msgspec typing-extensions pybind11
cd "/usr/local/searxng/searxng-src"
pip install --use-pep517 --no-build-isolation -e .
15,创建配置文件
sudo mkdir -p /etc/searxng
sudo cp "/usr/local/searxng/searxng-src/utils/templates/etc/searxng/settings.yml" /etc/searxng/settings.yml
sudo sed -i -e "s/ultrasecretkey/$(openssl rand -hex 16)/g" /etc/searxng/settings.yml
关键:开启 JSON 输出(Open WebUI 必须)
sudo nano /etc/searxng/settings.yml
在文件中找到 search: 部分,修改为:
YAMLsearch:
formats:
- html
- json # ← 必须加上这一行
创建 systemd 服务(推荐简单方式):
Bashexit
sudo nano /etc/systemd/system/searxng.service
粘贴:
ini[Unit]
Description=SearXNG Search Engine
After=network.target
[Service]
User=searxng
Group=searxng
WorkingDirectory=/usr/local/searxng/searxng-src
Environment="SEARXNG_SETTINGS_PATH=/etc/searxng/settings.yml"
ExecStart=/usr/local/searxng/searx-pyenv/bin/python searx/webapp.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
启动:
Bashsudo systemctl daemon-reload
sudo systemctl enable --now searxng
sudo systemctl status searxng
SearXNG 运行在 http://127.0.0.1:8888。
16,在 Open WebUI 中开启“搜索整合”功能
浏览器打开 http://你的服务器IP:8080 → 登录管理员。
右上角 ⚙️ → Admin Panel → Settings → Web Search / Retrieval。
Search Engine Provider 选择 SearXNG。
SearXNG URL 填 http://127.0.0.1:8888。
保存并重启 Open WebUI 服务(sudo systemctl restart open-webui)。
新建聊天 → 模型选择 Qwen3 等 → 打开 Web Search 开关。
现在输入“今天最新 AI 新闻是什么?”,模型会自动调用 SearXNG 搜索 → 整合最新内容 → 回复带来源,像 Grok 一样。
推荐生产优化(可选但强烈建议)
防火墙:sudo ufw allow 8080(已做),生产建议用 Nginx 反代到 80/443 + HTTPS(Let’s Encrypt)。
Nginx 反代示例(安装 sudo apt install nginx 后):nginxserver {
listen 80;
server_name 你的域名或IP;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
日志查看:journalctl -u open-webui -f、journalctl -u searxng -f、journalctl -u ollama -f。
更新模型:ollama pull 新模型名 即可。
测试完整流程:
访问网页 → 新聊天 → 提问需要实时信息的问题 → 观察模型是否自动搜索并整合。
全部部署完成后,你的 Linux 服务器就拥有了一个完全本地、类似 Grok 的智能聊天网站,支持多用户、多会话、RAG、工具调用。