资源栈 - www.zyz88.com

Directus建站教程:数据库优先的开源无头CMS安装配置指南

admin
2026-09-12 1 阅读 0 评论 0 点赞

Directus是一款开源的无头内容管理系统,基于Node.js和Vue.js开发,以BSL协议开源。Directus诞生于2014年,以数据库优先的设计理念著称,它可以直接连接到现有的SQL数据库,自动生成REST和GraphQL API,提供直观的管理界面。Directus适合开发者构建自定义内容管理系统、内部工具、数据管理平台、多端内容分发应用。

核心优势:数据库优先(直接连接现有SQL数据库)、自动生成REST和GraphQL API、直观的无代码管理界面、灵活的权限管理(RBAC)、支持多种数据库(PostgreSQL/MySQL/SQLite/Oracle/MariaDB)、Docker一键部署、完全自托管、数据完全可控。Directus是数据库驱动型无头CMS的代表。

本文目录

环境要求

  • 操作系统:Linux(Ubuntu/Debian/CentOS)、Windows、macOS
  • Node.js版本:Node.js 18.x 或 20.x(Directus 10推荐Node 18/20 LTS)
  • 数据库:PostgreSQL 13+ / MySQL 5.7.8+ / MariaDB 10.2.7+ / SQLite 3 / Oracle 19c+ / MS SQL Server
  • 内存:最低1GB,推荐2GB以上
  • 磁盘:至少1GB可用空间
  • Web服务器:Nginx(用于反向代理,可选)
  • Docker:可选,推荐使用Docker部署

安装教程

方式一:Docker部署(推荐)

步骤1:安装Docker和Docker Compose

curl -fsSL https://get.docker.com | bash
systemctl enable docker
systemctl start docker
docker --version
docker compose version

步骤2:创建docker-compose.yml

mkdir -p /opt/directus
cd /opt/directus
cat > docker-compose.yml << 'EOF'
version: "3.8"
services:
  database:
    image: postgres:15
    volumes:
      - ./database:/var/lib/postgresql/data
    environment:
      POSTGRES_USER: directus
      POSTGRES_PASSWORD: your_strong_password
      POSTGRES_DB: directus
    restart: unless-stopped

  directus:
    image: directus/directus:10.x
    ports:
      - "8055:8055"
    volumes:
      - ./uploads:/directus/uploads
      - ./extensions:/directus/extensions
    depends_on:
      - database
    environment:
      KEY: "replace-with-random-string"
      SECRET: "replace-with-random-string"
      ADMIN_EMAIL: "admin@example.com"
      ADMIN_PASSWORD: "your_admin_password"
      DB_CLIENT: "pg"
      DB_HOST: "database"
      DB_PORT: "5432"
      DB_DATABASE: "directus"
      DB_USER: "directus"
      DB_PASSWORD: "your_strong_password"
      WEBSOCKETS_ENABLED: "true"
    restart: unless-stopped
EOF

步骤3:启动Directus

docker compose up -d
docker compose ps

访问 http://your-server-ip:8055 即可进入Directus管理界面。

方式二:手动安装(Node.js)

步骤1:安装Node.js

curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt install -y nodejs
node --version
npm --version

步骤2:创建项目

cd /opt
npm create directus@latest directus-app
cd directus-app
# 按照提示选择数据库类型、填写数据库连接信息
# 创建管理员账号

步骤3:启动服务

npx directus start

Directus默认运行在8055端口。

步骤4:Nginx反向代理配置

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:8055;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        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;
        proxy_cache_bypass $http_upgrade;
    }
}

步骤5:登录管理后台

访问 http://yourdomain.com,使用安装时设置的管理员邮箱和密码登录。Directus后台功能包括:数据模型管理、内容管理、用户管理、角色权限、文件管理、Webhooks、自动化流程、API文档等。

Windows环境安装

  1. 从Node.js官网(https://nodejs.org)下载LTS版本安装
  2. 安装Docker Desktop for Windows(推荐,https://www.docker.com/products/docker-desktop
  3. 使用Docker Desktop运行Directus镜像,或使用命令行执行npm create directus@latest directus-app
  4. 按照提示配置数据库和管理员账号
  5. 执行npx directus start启动服务
  6. 浏览器访问http://localhost:8055登录后台

宝塔面板安装(推荐)

  1. 安装宝塔面板,登录后在软件商店安装"Docker管理器"
  2. 通过Docker管理器安装PostgreSQL和Directus镜像
  3. 或在终端创建docker-compose.yml,执行docker compose up -d
  4. 在宝塔面板添加站点,配置Nginx反向代理到8055端口
  5. 配置SSL证书(宝塔一键部署Let's Encrypt)
  6. 浏览器访问域名登录Directus管理后台

服务器配置建议

  • 内存:建议2GB以上,Directus + 数据库运行需要约1GB内存
  • Node.js:使用LTS版本(18.x/20.x)
  • 数据库:生产环境推荐PostgreSQL 15,配置innodb_buffer_pool_size=256M
  • Nginx:启用gzip压缩,配置静态资源缓存
  • 使用PM2或Docker管理进程,确保服务稳定运行
  • 配置文件存储(本地或S3兼容存储)
  • 定期备份数据库和uploads目录
  • 生产环境设置KEY和SECRET为随机字符串
  • 配置CORS允许的域名

常见问题

Q:Docker启动后无法访问?
A:检查容器是否正常运行:docker compose ps,查看日志:docker compose logs directus。确认8055端口已开放,Nginx配置正确。

Q:如何连接现有数据库?
A:在环境变量中配置数据库连接信息(DB_CLIENT、DB_HOST、DB_PORT、DB_DATABASE、DB_USER、DB_PASSWORD),Directus会自动检测现有表结构并生成API。

Q:如何创建数据模型?
A:在Directus后台 → 设置 → 数据模型中,点击"创建集合",定义字段(文本、数字、图片、关系等),保存后自动生成API接口。

Q:忘记管理员密码?
A:Docker环境执行:docker compose exec directus npx directus users passwd --email admin@example.com --password 新密码。手动安装执行:npx directus users passwd --email admin@example.com --password 新密码

官方网址

Directus官网地址:https://directus.io

文章标题 Directus建站教程:数据库优先的开源无头CMS安装配置指南
本文由 资源栈 原创发布,转载请注明出处并保留原文链接。