You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Directus 10中start.js位置查找及服务器重启后自启保活求助

Directus 10 中 start.js 位置说明与自动启动配置

一、start.js 文件位置变化

Directus 10 重构了目录结构,原 Directus 9 里的 node_modules/directus/dist/start.js 已被移除。现在无需依赖这个文件启动服务,官方推荐使用 CLI 命令:

  • 直接运行:npx directus start
  • 或者在项目根目录的 package.json 中配置启动脚本:
{
  "scripts": {
    "start": "directus start"
  }
}

配置后执行 npm start 即可启动 Directus。

若一定要找类似的入口文件,它现在位于 node_modules/directus/dist/cli.js,但官方不建议直接调用该文件,优先使用官方 CLI 命令。

二、实现服务器重启后自动启动/持续运行

1. 使用 PM2 进程管理器

这是最常用的方案,操作步骤如下:

  • 全局安装 PM2:npm install pm2 -g
  • 在项目根目录创建 ecosystem.config.js 配置文件:
module.exports = {
  apps: [{
    name: 'directus',
    script: 'npx',
    args: 'directus start',
    instances: 1,
    autorestart: true,
    watch: false,
    max_memory_restart: '1G',
    env: {
      NODE_ENV: 'production'
    }
  }]
};
  • 启动服务:pm2 start ecosystem.config.js
  • 设置 PM2 开机自启:执行 pm2 startup,根据终端提示运行生成的命令完成配置
  • 保存当前 PM2 进程列表:pm2 save

2. 使用 systemd 服务(Linux 系统)

针对 Linux 服务器,可直接配置 systemd 服务实现自启:

  • 创建服务文件:sudo nano /etc/systemd/system/directus.service
  • 写入以下内容(替换 [your-user] 为服务器用户名,[your-project-path] 为 Directus 项目的根目录路径):
[Unit]
Description=Directus CMS Service
After=network.target

[Service]
User=[your-user]
WorkingDirectory=[your-project-path]
ExecStart=/usr/bin/npm start
Restart=always
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target
  • 重新加载 systemd 配置:sudo systemctl daemon-reload
  • 启动 Directus 服务:sudo systemctl start directus
  • 设置开机自启:sudo systemctl enable directus
  • 查看服务运行状态:sudo systemctl status directus

内容的提问来源于stack exchange,提问作者Mohsin Mujawar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 01:40:01