记录从安装 Docker 到给 Ollama 部署Embedding模型加API Key 鉴权的完整步骤。
一、安装 Docker
1. 安装基础工具和华为云 Docker 源
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://mirrors.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo sudo sed -i 's+download.docker.com+mirrors.huaweicloud.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
2. 安装 Docker 并启动
sudo yum install -y docker-ce sudo systemctl enable docker sudo systemctl start docker
3. 验证是否安装成功
docker --version
二、配置 Docker 镜像加速
创建 daemon.json,写入镜像加速地址,然后重载配置并重启 Docker。
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.xuanyuan.me",
"https://docker.1ms.run"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker三、拉取 Ollama 镜像
docker pull ollama/ollama
四、启动 Ollama 容器
把容器的 11434 端口映射到主机的 11434 端口,并设置自动重启。
docker run -d \ -v ollama:/root/.ollama \ -p 11434:11434 \ --name ollama \ --restart always \ ollama/ollama
五、下载并验证 Embedding 模型
这里用 BGE-M3 作为 Embedding 模型,直接让 Ollama 拉取。
1. 下载模型
docker exec -it ollama ollama pull bge-m3
2. 确认模型出现在列表里
docker exec -it ollama ollama list
3. 测试生成向量
如果返回一串数字数组(向量),说明 Embedding 服务正常工作了。
docker exec -it ollama ollama run bge-m3 "测试文本"
执行后输出内容如下:
六、安装 Nginx,给 Ollama 做反向代理和 API Key 鉴权
Nginx 监听 8080,校验 Authorization 请求头,通过后转发到本机 Ollama 的 11434 端口。
# API Key 白名单,支持配置多个
map $http_authorization $is_valid_key {
default 0;
"Bearer 你的API_KEY" 1; # 替换为刚生成的 API Key
# "Bearer 另一个KEY" 1; # 如果有多个,可以继续添加
}
server {
listen 8080; # Nginx 对外服务的端口,可自定义
server_name 你的服务器公网IP; # 替换为服务器公网 IP
location / {
# API Key 校验,不通过则返回 401
if ($is_valid_key = 0) {
return 401 'Unauthorized: Invalid API Key';
}
# 反向代理到本地 Ollama
proxy_pass http://127.0.0.1:11434;
# 标准代理头
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# 流式响应核心配置(Chat/Stream 模式必须)
proxy_buffering off;
proxy_cache off;
proxy_http_version 1.1;
proxy_set_header Connection "";
}
}验证鉴权
不带 Key 的请求,预期返回 401:
curl -i http://服务器公网IP:8080/api/tags
应返回 HTTP/1.1 401 Unauthorized。
带正确 Key 的请求,预期成功:
curl http://服务器公网IP:8080/api/tags \ -H "Authorization: Bearer API_KEY"
应返回 Ollama 的模型列表 JSON 数据。
原创类文章未经允许请勿转载:39点博客 » Ollama部署 Embedding 模型与 Nginx鉴权配置
39点博客

