在 Linux 服务器(推荐 Ubuntu 22.04 / 24.04 LTS)上完全不使用 Docker 的原生部署方案,实现 Ollama + Open WebUI + SearXNG 的完整 Grok-like 聊天网站(人机对话 + 自动搜索整合内容)。
整个过程纯命令行操作,生产就绪(systemd 自动启动、后台运行),数据全部本地,免费、无限使用。假设你已以 root 或具有 sudo 权限的用户登录服务器。
1. 系统准备(所有步骤前执行)
sudo 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 服务)
# 一键安装(自动创建 ollama 用户和 systemd 服务)
curl -fsSL https://ollama.com/install.sh | sh
# 让 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)
# 拉取推荐模型(中文最强,支持工具调用)
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。
3. 安装 Open WebUI(网页聊天界面 + systemd 服务)
使用官方最简单的 pip 方式(无需 Node.js 构建前端)。
# 创建专用用户和目录(推荐)
sudo useradd -r -s /bin/false -m -d /opt/open-webui openwebui
sudo chown -R openwebui:openwebui /opt/open-webui
# 切换到 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
# 测试运行(Ctrl+C 退出)
open-webui serve --host 0.0.0.0 --port 8080
创建 systemd 服务(开机自启):
exit # 退出 openwebui 用户
sudo nano /etc/systemd/system/open-webui.service
粘贴以下内容:
[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
启动服务:
sudo 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(默认自动连接)。
4. 安装 SearXNG(本地隐私搜索引擎 + systemd 服务)
# 安装依赖
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
# 创建 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"
# 切换到 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"
# 重新登录以激活 venv
exit
sudo -H -u searxng -i
# 安装 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 .
# 创建配置文件
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: 部分,修改为:
search:
formats:
- html
- json # ← 必须加上这一行
创建 systemd 服务(推荐简单方式):
exit
sudo nano /etc/systemd/system/searxng.service
粘贴:
[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
启动:
sudo systemctl daemon-reload
sudo systemctl enable --now searxng
sudo systemctl status searxng
SearXNG 运行在 http://127.0.0.1:8888。
5. 在 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 一样。
6. 推荐生产优化(可选但强烈建议)
- 防火墙:sudo ufw allow 8080(已做),生产建议用 Nginx 反代到 80/443 + HTTPS(Let’s Encrypt)。
- Nginx 反代示例(安装 sudo apt install nginx 后):
nginx
server { 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、工具调用。



苹果CMS V10版手动添加代码实现自动生成网站地图的方法
wordpress的HTML5播放器插件分享,自建插件,如有错误请评论区反馈。
网站404页面的设置与404页面3秒后跳回首页的设置技巧
WordPress的HTML5魔方幻灯片插件,免费幻灯片插件分享,自建插件,如果有什么BUG请在评论区反馈。
如何提高网站速度与抗攻击能力:wordpress、cloudflare、waf与memcached的完整教程
刚刚用ChatGPT-4O写了一个WordPress主题,你们来验证一下它的代码是否准确。
评论抢沙发