在Linux 服务器上使用的免费本地大模型可以接入网站当中使用,以实现Grok聊天模式的人机对话和搜索整合内容的方法分享。

在 Linux 服务器(推荐 Ubuntu 22.04 / 24.04 LTS)上完全不使用 Docker 的原生部署方案,实现 Ollama + Open WebUI + SearXNG 的完整 Grok-like 聊天网站(人机对话 + 自动搜索整合内容)。

整个过程纯命令行操作,生产就绪(systemd 自动启动、后台运行),数据全部本地,免费、无限使用。假设你已以 root 或具有 sudo 权限的用户登录服务器。

在Linux 服务器上使用的免费本地大模型可以接入网站当中使用,以实现Grok聊天模式的人机对话和搜索整合内容的方法分享。

1. 系统准备(所有步骤前执行)

Bash
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 服务)

Bash
# 一键安装(自动创建 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 构建前端)。

Bash
# 创建专用用户和目录(推荐)
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 服务(开机自启)

Bash
exit   # 退出 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

启动服务:

Bash
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 服务)

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

# 创建 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: 部分,修改为:

YAML
search:
  formats:
    - html
    - json     # ← 必须加上这一行

创建 systemd 服务(推荐简单方式)

Bash
exit
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

启动:

Bash
sudo systemctl daemon-reload
sudo systemctl enable --now searxng
sudo systemctl status searxng

SearXNG 运行在 http://127.0.0.1:8888

5. 在 Open WebUI 中开启“搜索整合”功能

  1. 浏览器打开 http://你的服务器IP:8080 → 登录管理员。
  2. 右上角 ⚙️ → Admin PanelSettingsWeb Search / Retrieval
  3. Search Engine Provider 选择 SearXNG
  4. SearXNG URLhttp://127.0.0.1:8888
  5. 保存并重启 Open WebUI 服务(sudo systemctl restart open-webui)。
  6. 新建聊天 → 模型选择 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 -fjournalctl -u searxng -fjournalctl -u ollama -f
  • 更新模型ollama pull 新模型名 即可。

测试完整流程: 访问网页 → 新聊天 → 提问需要实时信息的问题 → 观察模型是否自动搜索并整合。

全部部署完成后,你的 Linux 服务器就拥有了一个完全本地、类似 Grok 的智能聊天网站,支持多用户、多会话、RAG、工具调用。

未经允许不得转载:泥人传说 » 在Linux 服务器上使用的免费本地大模型可以接入网站当中使用,以实现Grok聊天模式的人机对话和搜索整合内容的方法分享。
分享到:
赞(2)
全球云加速,高防CDN,提供全球约60个地区或国家云服务器,三网CN2 GIA和VIP GIA专线,双ISP家宽静态住宅原生IP的服务器,满足您的多元化需求。

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址