环境准备

确保服务器已安装Docker和Docker Compose。Ollama作为大模型服务需单独安装,可通过官方脚本快速部署:

curl -fsSL https://ollama.com/install.sh | sh

前端部署配置

创建前端Docker镜像时,需基于Node环境构建静态文件。示例Dockerfile:

FROM node:18 as builder
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build

FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf

对应的Nginx配置需处理跨域和路由重定向:

server {
    listen 80;
    location / {
        root /usr/share/nginx/html;
        try_files $uri $uri/ /index.html;
    }
    location /api {
        proxy_pass http://backend:8000;
    }
    location /ollama {
        proxy_pass http://ollama:11434;
    }
}

后端服务部署

后端Dockerfile需包含Python环境和依赖安装:

FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["gunicorn", "--bind", "0.0.0.0:8000", "app.wsgi"]

容器编排配置

docker-compose.yml需整合所有服务:

version: '3.8'
services:
  frontend:
    build: ./frontend
    ports:
      - "80:80"
    depends_on:
      - backend
      - ollama

  backend:
    build: ./backend
    environment:
      - OLLAMA_HOST=ollama:11434
    ports:
      - "8000:8000"

  ollama:
    image: ollama/ollama
    ports:
      - "11434:11434"
    volumes:
      - ollama_data:/root/.ollama

volumes:
  ollama_data:

部署与验证

  1. 构建并启动容器:
docker-compose up -d --build

  1. 验证Ollama服务连通性:
curl http://localhost:11434/api/tags

  1. 前端访问测试应自动重定向到index.html,后端API请求需通过/api路径代理。

注意事项

  • Ollama首次运行会自动下载模型文件,确保服务器磁盘空间充足
  • 生产环境建议配置HTTPS,可通过Let's Encrypt生成证书
  • 静态文件建议启用Nginx的gzip压缩和缓存控制
  • 高并发场景需调整Gunicorn的worker数量:
# gunicorn_config.py
workers = 4
threads = 2

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐