Dify 本地运行教程:Ubuntu 系统下的服务自启动配置

以下是在 Ubuntu 系统中配置 Dify 服务自启动的完整流程,使用 systemd 实现服务管理。本教程假设您已完成 Dify 的本地部署,并已安装 Docker 和 Docker Compose。


步骤 1:创建 systemd 服务文件

/etc/systemd/system/ 目录下创建服务配置文件:

sudo nano /etc/systemd/system/dify.service

文件内容如下(根据实际路径调整):

[Unit]
Description=Dify AI Service
After=docker.service network.target
Requires=docker.service

[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/path/to/dify  # 替换为您的 Dify 项目目录
ExecStart=/usr/bin/docker-compose up -d
ExecStop=/usr/bin/docker-compose down
User=root  # 或具有权限的用户名

[Install]
WantedBy=multi-user.target


步骤 2:启用并启动服务
  1. 重载 systemd 配置
    sudo systemctl daemon-reload
    

  2. 启用自启动
    sudo systemctl enable dify.service
    

  3. 立即启动服务
    sudo systemctl start dify.service
    


步骤 3:验证服务状态
  • 检查运行状态:
    sudo systemctl status dify.service
    

  • 查看日志(定位问题):
    journalctl -u dify.service -f
    


步骤 4:测试自启动

重启系统后验证服务是否自动运行:

sudo reboot
# 重启后执行
docker ps  # 应显示 Dify 相关容器


常见问题处理
  1. 权限错误

    • 确保服务文件中的 WorkingDirectory 路径正确
    • 使用 sudo chmod 644 /etc/systemd/system/dify.service 修正权限
  2. Docker Compose 路径问题

    • 通过 which docker-compose 确认路径
    • 若使用插件版 Docker Compose,将 ExecStart 改为:
      ExecStart=/usr/bin/docker compose up -d
      

  3. 依赖未就绪: 在 [Unit] 部分添加:

    After=postgresql.service redis.service  # 按需添加依赖服务
    


关键命令速查
功能 命令
手动启动 sudo systemctl start dify
停止服务 sudo systemctl stop dify
禁用自启 sudo systemctl disable dify
日志跟踪 journalctl -u dify -n 100 -f

注意

  • 替换 /path/to/dify 为实际 Dify 项目路径
  • 若使用非 root 用户,需将该用户加入 docker 用户组
  • 生产环境建议配置日志轮转(logrotate

通过以上配置,Dify 将在系统启动时自动运行,并通过 systemd 实现服务生命周期管理。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐