Skill Creator 安装全指南:从环境配置到生产级部署避坑

1次阅读
没有评论

共计 2387 个字符,预计需要花费 6 分钟才能阅读完成。

image.webp

痛点分析:那些年我们踩过的安装坑

在 Skill Creator 的安装过程中,开发者最常遇到的几类问题包括:

Skill Creator 安装全指南:从环境配置到生产级部署避坑

  • Python 版本冲突:Skill Creator 需要 Python 3.8+,但系统默认可能是 2.7 或 3.6,导致包依赖解析失败

  • Docker 权限问题 :非 root 用户未加入 docker 组时,直接运行会报Permission denied 错误

  • 端口占用:默认的 8000 端口可能被其他服务占用,导致服务无法启动

  • 依赖冲突:系统已安装的全局 Python 包可能与 Skill Creator 的 requirements.txt 产生冲突

技术方案:源码安装 vs 容器化部署

源码安装(适合定制化需求)

  • 优点:
  • 可直接调试和修改代码
  • 更灵活地控制依赖版本
  • 缺点:
  • 需要手动处理环境隔离
  • 升级维护成本较高

容器化部署(推荐生产环境)

  • 优点:
  • 环境隔离彻底
  • 一键部署和回滚
  • 资源占用可控
  • 缺点:
  • 调试稍复杂
  • 镜像体积较大

实战安装脚本(Ubuntu 20.04 示例)

源码安装方案

#!/bin/bash
# 创建虚拟环境
python3.8 -m venv ~/skill-creator-env
source ~/skill-creator-env/bin/activate

# 安装系统依赖
sudo apt update
sudo apt install -y build-essential python3-dev

# 克隆仓库(替换为实际仓库地址)git clone https://github.com/skill-creator/repo.git
cd repo

# 安装 Python 依赖
pip install --upgrade pip
pip install -r requirements.txt

# 初始化数据库
python manage.py migrate

# 启动开发服务器
python manage.py runserver 0.0.0.0:8000

Docker 方案

# 安装 Docker CE
sudo apt update
sudo apt install -y docker.io
sudo systemctl enable --now docker

# 添加当前用户到 docker 组(需要重新登录生效)sudo usermod -aG docker $USER

# 拉取官方镜像
docker pull skillcreator/official:latest

# 运行容器(映射 8000 端口)docker run -d -p 8000:8000 --name skill-creator skillcreator/official

生产环境关键配置

systemd 服务配置

创建/etc/systemd/system/skill-creator.service:

[Unit]
Description=Skill Creator Service
After=network.target

[Service]
User=skilluser
Group=skillgroup
WorkingDirectory=/opt/skill-creator
ExecStart=/opt/skill-creator/venv/bin/python manage.py runserver 0.0.0.0:8000
Restart=always

[Install]
WantedBy=multi-user.target

启用服务:

sudo systemctl daemon-reload
sudo systemctl enable skill-creator
sudo systemctl start skill-creator

日志管理方案

  1. 配置 logrotate 创建/etc/logrotate.d/skill-creator:

    /var/log/skill-creator/*.log {
        daily
        missingok
        rotate 30
        compress
        delaycompress
        notifempty
        create 640 skilluser skillgroup
    }

  2. 添加磁盘监控到 crontab:

    # 每天检查磁盘使用率
    0 0 * * * df -h / | awk '$5 > 90 {print"Warning: Skill Creator disk space low!"}' | mail -s "Disk Alert" admin@example.com

避坑指南

解决依赖冲突的三种方法

  1. 使用虚拟环境(推荐):

    python -m venv venv
    source venv/bin/activate

  2. 使用 --user 安装:

    pip install --user package_name

  3. 使用 Docker 彻底隔离环境

最小权限防火墙配置

# 只开放必要端口
sudo ufw allow 8000/tcp
sudo ufw enable

# 更精细的控制(生产环境推荐)sudo ufw allow from 192.168.1.0/24 to any port 8000

验收测试清单

  1. 基础服务检查:

    curl -I http://localhost:8000/api/health
    # 应返回 HTTP 200

  2. API 功能测试:

    curl -X POST http://localhost:8000/api/v1/skills \
         -H "Content-Type: application/json" \
         -d '{"name":"test"}'

  3. 性能基准测试(示例):

    ab -n 1000 -c 50 http://localhost:8000/api/health

5 分钟快速自查表

✅ Python 版本 ≥ 3.8
✅ 虚拟环境已激活 /Docker 已安装
✅ 8000 端口未被占用
✅ 数据库配置正确
✅ 日志目录有写入权限
✅ 防火墙规则已更新
✅ systemd 服务配置无误

通过以上步骤,应该可以顺利完成 Skill Creator 的安装部署。如果在生产环境中遇到特殊问题,建议查看容器日志或系统日志定位具体原因:

# Docker 日志
docker logs skill-creator

# 系统日志
journalctl -u skill-creator -f
正文完
 0
评论(没有评论)