AI大模型公开课环境配置:从服务器准备到API调用的实操流程
公开课配置的核心目标只有一个:让学员打开浏览器就能调用模型,而不是每人装一套环境。
下面以在 Linux 服务器上用 Ollama 部署一个可对外访问的模型服务为例,把准备、操作、避坑和验证串起来。
如果你用的是云厂商的 GPU 实例或已有内网模型网关,命令细节会不同,但检查思路一致。
先确认机器和权限
公开课通常几十人同时访问,CPU 跑小模型也能演示,但响应会慢。
建议至少 4 核 8G 内存,磁盘预留 20G 以上放模型文件。
系统以 Ubuntu 22.04 或 Debian 12 为例,需要 root 或 sudo 权限,并确认 80 端口未被占用。
登录服务器后先做两项检查:
uname -m && cat /etc/os-release | head -3
ss -tlnp | grep -E ':80|:11434'
第一条确认架构是 x86_64 或 arm64,第二条确认 80 和 11434 端口空闲。
如果 11434 已被占用,说明机器上可能已有 Ollama 在跑,先停掉旧服务再继续。
安装 Ollama 并拉取演示模型
官方提供一键安装脚本,执行后会自动注册 systemd 服务:
curl -fsSL https://ollama.com/install.sh | sh
systemctl status ollama --no-pager
看到 active (running) 说明服务已启动。
接着拉一个体积适中的模型,公开课演示推荐 7B 级别,下载和推理速度比较平衡:
ollama pull qwen2.5:7b
ollama list
ollama list 能列出模型名和大小,说明模型已落盘。
此时本机执行 ollama run qwen2.5:7b "你好" 应能收到回复,这是后续所有配置的基础。
让服务对外监听并放行端口
Ollama 默认只监听 127.0.0.1:11434,学员从浏览器访问不到。
需要改 systemd 启动参数:
systemctl edit ollama
在打开的编辑器里加入:
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
保存退出后重载并重启:
systemctl daemon-reload
systemctl restart ollama
ss -tlnp | grep 11434
输出里出现 0.0.0.0:11434 才算生效。
如果服务器开了 ufw 或云安全组,还要放行 11434;
但更推荐只放行 80,由 Nginx 转发,避免模型端口直接暴露在公网。
用 Nginx 做统一入口
安装 Nginx 后新建站点配置:
apt install -y nginx
在 /etc/nginx/sites-available/ollama 写入:
server {
listen 80;
server_name _;
location / {
proxy_pass http://127.0.0.1:11434;
proxy_set_header Host $host;
proxy_read_timeout 300s;
}
}
启用并检查语法:
ln -s /etc/nginx/sites-available/ollama /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
proxy_read_timeout 要调大,因为大模型生成回复可能超过默认 60 秒,否则学员会看到 504。
两个高频坑
防火墙只开了一半。 云服务器有安全组,系统内还有 ufw 或 firewalld,两层都要放行 80。
只改一层时,curl 本机通、外网不通,很容易误判成 Nginx 问题。
浏览器跨域被拦。 如果公开课页面用前端 JavaScript 直接请求模型接口,浏览器会因跨域报错。
要么在 Nginx 里补 add_header Access-Control-Allow-Origin *;,要么让前端走自己的后端转发,不要把模型地址直接写进页面。
验证是否真的可用
在另一台机器上执行:
curl http://你的服务器IP/api/generate -d '{"model":"qwen2.5:7b","prompt":"用一句话介绍你自己","stream":false}'
返回 JSON 且包含 response 字段,说明从外网到模型整条链路通了。
再打开浏览器访问 http://你的服务器IP,能看到 Ollama 的接口提示页,就说明 Nginx 转发正常。
公开课前建议提前一天用多台设备各测一次,确认并发时响应时间在可接受范围内。
配置 AI 大模型公开课环境,重点不在模型多大,而在入口稳定、端口可控、超时够长。
按上面顺序做完,再用 curl 和浏览器双重验证,基本能覆盖公开课演示的常见需求。