资源栈 - www.zyz88.com

Strapi建站教程:开源无头CMS安装配置指南

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

Strapi是全球最流行的开源无头CMS(Headless CMS),基于Node.js开发,以MIT协议开源,完全免费商用。Strapi诞生于2015年,GitHub星数超过6万,是GitHub上星数最多的开源CMS。Strapi采用API优先的设计理念,不绑定前端展示层,通过REST API和GraphQL API向任何前端(Web、App、小程序、IoT设备)提供内容。Strapi内置强大的内容建模、用户管理、权限管理、媒体管理、插件系统,适合开发者构建自定义内容管理系统、多端内容分发平台、JAMstack网站后端。

核心优势:完全开源免费(MIT协议)、API优先(REST + GraphQL)、可视化内容建模、灵活的权限管理(RBAC)、丰富的插件生态、支持多种数据库、Docker部署、TypeScript支持、被多家世界500强企业采用。Strapi是开发者构建现代化内容架构的首选无头CMS。

本文目录

环境要求

  • 操作系统:Linux(Ubuntu/Debian/CentOS)、Windows、macOS
  • Node.js版本:Node.js 18.x 或 20.x(Strapi 5推荐Node 18/20 LTS)
  • npm版本:npm 9.x+ 或 yarn 1.22+
  • 数据库:MySQL 8.0+ / PostgreSQL 14+ / SQLite 3(开发环境)/ MariaDB 10.3+
  • 内存:最低1GB,推荐2GB以上(构建和运行需要)
  • 磁盘:至少2GB可用空间
  • Web服务器:Nginx(用于反向代理,可选)
  • Git:用于版本管理(推荐)

安装教程

步骤1:安装Node.js

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

步骤2:创建Strapi项目

cd /opt
npx create-strapi-app@latest my-strapi --quickstart

这会使用SQLite数据库快速启动一个开发环境。生产环境建议使用MySQL或PostgreSQL。

步骤3:生产环境安装(使用MySQL)

cd /opt
npx create-strapi-app@latest my-strapi
# 选择 Custom (manual settings)
# 选择数据库类型:mysql
# 填写数据库连接信息

或手动创建项目并配置MySQL:

cd /opt
npx create-strapi-app@latest my-strapi --quickstart
cd my-strapi
npm install mysql2 --save

编辑 config/database.js

module.exports = ({ env }) => ({
  connection: {
    client: 'mysql',
    connection: {
      host: env('DATABASE_HOST', 'localhost'),
      port: env.int('DATABASE_PORT', 3306),
      database: env('DATABASE_NAME', 'strapi'),
      user: env('DATABASE_USERNAME', 'strapi'),
      password: env('DATABASE_PASSWORD', 'your_password'),
      ssl: env.bool('DATABASE_SSL', false),
    },
  },
});

步骤4:创建MySQL数据库

mysql -u root -p
CREATE DATABASE strapi DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'strapi'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON strapi.* TO 'strapi'@'localhost';
FLUSH PRIVILEGES;
EXIT;

步骤5:构建和启动生产环境

cd /opt/my-strapi
NODE_ENV=production npm run build
NODE_ENV=production npm run start

Strapi默认运行在1337端口。

步骤6:配置PM2进程管理

npm install -g pm2
cd /opt/my-strapi
pm2 start npm --name strapi -- run start
pm2 save
pm2 startup

步骤7:Nginx反向代理配置

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

    location / {
        proxy_pass http://127.0.0.1:1337;
        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;
    }

    location /uploads/ {
        proxy_pass http://127.0.0.1:1337;
        expires 30d;
        add_header Cache-Control "public, immutable";
    }
}

步骤8:完成管理员注册

浏览器访问 http://yourdomain.com/admin,首次访问会进入管理员注册页面:

  1. 填写管理员姓名、邮箱、密码
  2. 点击”Let’s start”完成注册
  3. 进入Strapi管理后台

Strapi后台功能包括:内容类型构建器、内容管理、媒体库、用户管理、角色权限、插件管理、API文档、设置等。

Windows环境安装

Windows下安装步骤:

  1. 从Node.js官网(https://nodejs.org)下载LTS版本安装包,双击安装
  2. 打开命令提示符(CMD)或PowerShell,验证安装:node --versionnpm --version
  3. 使用命令行工具进入项目目录,执行与Linux相同的安装命令
  4. Windows下建议使用Git Bash或Windows Terminal获得更好的命令行体验

注意:Node.js项目在Windows下开发,生产环境建议部署到Linux服务器。

宝塔面板部署

宝塔面板支持Node.js项目部署:

  1. 安装宝塔面板(参考PHP类安装命令)
  2. 在宝塔面板 → 软件商店中安装”PM2管理器”
  3. 通过PM2管理器安装所需的Node.js版本
  4. 点击”网站” → “添加Node项目”,填写项目名称、启动文件、端口等
  5. 将项目文件上传到指定目录
  6. 在项目设置中配置环境变量、启动命令
  7. 配置Nginx反向代理,将域名指向Node.js应用端口
  8. 在PM2管理器中启动项目,设置开机自启

服务器配置建议

  • 内存:建议2GB以上,Strapi构建过程需要较多内存
  • Node.js:使用LTS版本(18.x/20.x),不要使用最新版本
  • 数据库:生产环境使用MySQL 8.0或PostgreSQL 14+,不要使用SQLite
  • 构建内存:构建时可能需要更多内存,可设置NODE_OPTIONS=--max-old-space-size=2048
  • PM2:使用PM2管理进程,确保服务稳定运行
  • Nginx:启用gzip压缩,配置静态资源缓存
  • 定期更新:执行npm update @strapi/strapi更新核心
  • 定期备份:备份MySQL数据库和public/uploads目录
  • 配置CORS:在config/middlewares.js中配置允许的域名
  • 生产环境设置JWT_SECRET和ADMIN_JWT_SECRET环境变量

常见问题

Q:Strapi构建失败,提示内存溢出?
A:增加Node.js内存限制:NODE_OPTIONS=--max-old-space-size=4096 npm run build。确保服务器内存至少2GB,必要时创建swap分区。

Q:API返回403或CORS错误?
A:在Strapi后台 → 设置 → 角色 → Public中配置API权限。在config/middlewares.js中配置CORS允许的origin域名。

Q:如何创建自定义内容类型?
A:在Strapi后台 → 内容类型构建器中,点击”创建新的内容类型”,定义字段(文本、富文本、图片、关系等),保存后自动生成API接口。

Q:忘记管理员密码怎么办?
A:在项目根目录执行:npm run strapi admin:reset-user-password --email=admin@example.com --password=新密码

Q:Strapi和WordPress怎么选?
A:需要API优先、多端内容分发、自定义内容模型选Strapi;需要传统网站、主题插件、可视化编辑选WordPress。开发者构建JAMstack和多端应用推荐Strapi,普通网站推荐WordPress。

官方网址

官方网站:https://strapi.io

下载地址:https://strapi.io/download

官方文档:https://docs.strapi.io

插件市场:https://market.strapi.io

GitHub:https://github.com/strapi/strapi

社区论坛:https://forum.strapi.io

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