1. 下载 ollama

    curl -fsSL https://ollama.com/install.sh | sh
    
  2. 设置设置默认端口和模型下载路径

    vim /etc/systemd/system/ollama.service
    
  3. [Service]下新增两行

    Environment="OLLAMA_HOST=0.0.0.0:11434"
    Environment="OLLAMA_MODELS=/root/ollama/models"

    并将UserGroup改为root然后重新载入

    sudo systemctl daemon-reload
    systemctl restart ollama
    
  4. 下载模型

    ollama run llama3:8b/llama3.3:70b
    
  5. 运行网页端(open-webui

    docker run -d -p 3000:8080 -e OLLAMA_API_BASE_URL=https://ai.toyo.pub:11434/api -e OLLAMA_BASE_URL=https://ai.toyo.pub:11434 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
    
  6. 测试

    curl -X POST https://ai.toyo.pub:11434/api/generate -d '{
      "model": "llama3:8b",
      "prompt":"帮我生成一个小故事"
     }'
    
  7. 设置nginx反向代理(注意:不要使用Cloudflare的证书,因为他们的 WebSocket支持可能有问题,导致总是超时,可以使用其他的证书

    map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
    }
    
    server {
    
        ...
    
        location / {
            proxy_set_header    X-Real-IP               $remote_addr;
            proxy_set_header    X-Forwarded-For         $proxy_add_x_forwarded_for;
            proxy_set_header    HTTP_X_FORWARDED_FOR    $remote_addr;
    
            # 重要
            proxy_pass http://127.0.0.1:3000;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;
        }
    
        ...
    
    }