无头CMS - Strapi

安装

基于docke-compose

version: '3'
services:
  strapi:
    image: strapi/strapi:3.6.8-node14
    environment:
      DATABASE_CLIENT: mysql
      DATABASE_HOST: 0.0.0.0
      DATABASE_PORT: 13306
      DATABASE_NAME: strapi
      DATABASE_USERNAME: devops
      DATABASE_PASSWORD: devops123
      DATABASE_SSL: 'false'
    volumes:
      - ./app:/srv/app
    ports:
      - '1337:1337'

基于源码

  1. 安装nodejs14
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -  
apt-get install -y nodejs
  1. 安装yarn npm install -g yarn
  2. cd进自己的项目目录,安装依赖 yarn install,注意如果存在yarn.lock,需要先delete它,否则会报Error: `make` failed with exit code: 2
  3. 安装db驱动npm install mysql --save
  4. 新建cms项目 yarn create strapi-app your-cms
  5. 一堆的配置选择 strapi-setup
  6. 检查mysql数据源 ./config/database.js
module.exports = ({ env }) => ({
  defaultConnection: 'default',
  connections: {
    default: {
      connector: 'bookshelf',
      settings: {
        client: 'mysql',
        host: env('DATABASE_HOST', '0.0.0.0'),
        port: env.int('DATABASE_PORT', 13306),
        database: env('DATABASE_NAME', 'strapi'),
        username: env('DATABASE_USERNAME', 'devops'),
        password: env('DATABASE_PASSWORD', 'devops123'),
      },
      options: {},
    },
  },
});
  1. 运行web服务 yarn develop
  2. 访问admin页面 http://localhost:1337/admin

常用插件

使用

建模

以构建服务导航(Service navigation)为例

  1. 内容类型生成器(content-type-builder)页,点击集合类型下的创建一个新的集合类型
  2. 基础设置下填入名称,点击继续 建模1
  3. 选择字段类型文本 建模2
  4. 字段详细页中填入属性名name,选较短的文字,点击高级设置 建模3
  5. 根据实际情况,勾选必须的、唯一的,在点击添加另一个字段,重复上述步骤,直到建模完成,点击结束 建模4
  6. 最后保存模型 建模5

授权

  1. 设置菜单,点击选择角色和权限下的public 授权1
  2. Public详情页中权限下的APPLICATION列表中,勾选之前建模的SERVICE-NAVIGATION的相关权限,最后点保存 授权1

API访问

如果安装了documentation插件,提供默认的swagger的地址http://localhost:1337/documentation/,参考相关接口用法

发布内容

  1. 进入admin后台界面,在对应的集合类型里选择相关的类型,进行编辑 发布1
  2. 点击要发布记录的状态,选择发布

参考