最先进的开源无头 CMS,可轻松构建强大的 API

最先进的开源无头 CMS,可轻松构建强大的 API

2022-10-19 0 1,021
资源编号 46105 最近更新 2022-10-19
¥ 0人民币 升级VIP
立即下载 注意事项
下载不了?请联系网站客服提交链接错误!
增值服务: 安装指导 环境配置 二次开发 模板修改 源码安装

本期推荐的Strapi 是领先的开源无头 CMS,它是 100% JavaScript,完全可定制且开发人员优先。

最先进的开源无头 CMS,可轻松构建强大的 API

Strapi 是一款免费的开源无头 CMS,可在您需要的任何地方提供您的内容。

  • 控制您的数据。使用 Strapi,您可以知道您的数据存储在哪里,并始终保持完全控制。
  • 自托管。您可以按照自己的方式托管和扩展 Strapi 项目。您可以选择任何您想要的托管平台:AWS、Render、Netlify、Heroku、VPS 或专用服务器。您可以随着成长而扩展,100% 独立。
  • 数据库不可知论。Strapi 适用于 SQL 数据库。您可以选择您喜欢的数据库:PostgreSQL、MySQL、MariaDB 和 SQLite。
  • 可定制。您可以通过完全自定义 API、路由或插件来快速构建逻辑,以完美满足您的需求。

Strapi特征

  • 现代管理面板:优雅、完全可定制且完全可扩展的管理面板。
  • 默认安全:可重用策略、CORS、CSP、P3P、Xframe、XSS 等。
  • 面向插件:在几秒钟内安装身份验证系统、内容管理、自定义插件等。
  • 速度极快: Strapi 建立在 Node.js 之上,提供了惊人的性能。
  • 前端不可知论:使用任何前端框架(React、Vue、Angular 等)、移动应用程序甚至物联网。
  • 强大的 CLI:动态的脚手架项目和 API。
  • SQL 数据库:适用于 PostgreSQL、MySQL、MariaDB 和 SQLite。

安装Strapi

使用 Docker 安装

Docker 是一个开放平台,允许使用容器(即包含应用程序运行所需的所有部分的包,例如库和依赖项)来开发、发布和运行应用程序。

  • 创建一个空文件夹。
  • 在您的空文件夹中,创建一个docker-compose.yaml文件。这是创建新 Strapi 项目的地方,它定义了要使用的数据库和 Strapi 服务。
version: '3'
services:
  strapi:
    image: strapi/strapi
    environment:
      DATABASE_CLIENT: mysql
      DATABASE_HOST: mysql
      DATABASE_PORT: 3306
      DATABASE_NAME: strapi
      DATABASE_USERNAME: strapi
      DATABASE_PASSWORD: strapi
      DATABASE_SSL: 'false'
    volumes:
      - ./app:/srv/app
    ports:
      - '1337:1337'
    depends_on:
      - mysql

  mysql:
    image: mysql
    command: mysqld --default-authentication-plugin=mysql_native_password
    volumes:
      - ./data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: strapi
      MYSQL_DATABASE: strapi
      MYSQL_USER: strapi
      MYSQL_PASSWORD: strapi
  • 使用以下命令拉取最新图像:
docker-compose pull

运行 Strapi

要运行使用 Docker 创建的 Strapi 项目,请使用以下命令之一:

# Execute Docker image detaching the terminal
docker-compose up -d

# Execute Docker image without detaching the terminal
docker-compose up

DigitalOcean 一键式安装

DigitalOcean 是一个云平台,通过为开发人员提供基础架构即服务 (IaaS) 平台来帮助部署和扩展应用程序。

创建一个 Strapi 项目

  • 转到 DigitalOcean 市场上的 Strapi 页面。
  • 单击创建 Strapi Droplet按钮。
  • 保留选定的“共享 CPU – 基本”计划。
  • 选择“Regular Intel with SSD”作为 CPU 选项。
  • 选择您的虚拟机大小(至少 2 GB/1 CPU)。
  • 选择一个数据中心区域(离您或您的目标区域最近)。
  • 添加新的 SSH 密钥。您可以按照本指南 (打开新窗口).
  • 给你的虚拟机一个主机名。
  • 单击创建 Droplet。液滴启动可能需要 30 秒到几分钟,而完成 Strapi 安装可能需要几分钟。

运行 Strapi

您在 DigitalOcean 上的 Strapi 应用程序将以开发模式运行。不建议在生产中直接使用该应用程序。

要访问您的 Strapi 应用程序:

  • 转到DigitalOcean 上的水滴列表 (打开新窗口), 登录。
  • 单击用于您的 Strapi 应用程序的液滴名称。
  • 复制 Droplet 的公共 ipv4 地址。
  • 使用此地址访问 Strapi 应用程序。

首次访问 Strapi 应用程序页面将需要创建第一个管理员用户。

项目结构

在没有启动 CLI 的情况下创建的 Strapi 项目的默认结构如下所示:

. # root of the application
├──── .cache # files used to build the admin panel
├──── .tmp
├──── build # build of the admin panel
├──── config # API configurations
│     ├ api.js
│     ├ admin.js
│     ├ cron-tasks.js
│     ├ database.js
│     ├ middlewares.js
│     ├ plugins.js
│     └ server.js
├──── database
│     └──── migrations
├──── node_modules # npm packages used by the project
├──── public # files accessible to the outside world
│     └──── uploads
├──── src
│     ├──── admin # admin customization files
│           ├──── extensions # files to extend the admin panel
│     │     ├ app.js
│     │     └ webpack.config.js
│     ├──── api # business logic of the project split into subfolders per API
│     │     └──── (api-name)
│     │           ├──── content-types
│     │           │     └──── (content-type-name)
│     │           │           └ lifecycles.js
│     │           │           └ schema.json
│     │           ├──── controllers
│     │           ├──── middlewares
│     │           ├──── policies
│     │           ├──── routes
│     │           ├──── services
│     │           └ index.js
│     ├──── components
│     │     └──── (category-name)
│     │           ├ (componentA).json
│     │           └ (componentB).json
│     ├──── extensions # files to extend installed plugins
│     │     └──── (plugin-to-be-extended)
│     │           ├──── content-types
│     │           │     └──── (content-type-name)
│     │           │           └ schema.json
│     │           └ strapi-server.js
│     ├──── middlewares
│     │     └──── (middleware-name)
│     │           ├ defaults.json
│     │           └ index.js
│     ├──── plugins # local plugins files
│     │     └──── (plugin-name)
│     │           ├──── admin
│     │           │     └──── src
│     │           │           └ index.js
│     │           ├──── server
│     │           │     ├──── content-types
│     │           │     ├──── controllers
│     │           │     └──── policies
│     │           ├ package.json
│     │           ├ strapi-admin.js
│     │           └ strapi-server.js
│     ├─── policies
│     └ index.js # include register(), bootstrap() and destroy() functions
├ .env
└ package.json

配置

应用程序配置位于./config文件夹中(请参阅项目结构)。所有配置文件都在启动时加载,可以通过配置提供程序访问。

如果./config/server.js文件具有以下配置:

module.exports = {
  host: '0.0.0.0',
};

server.host可以通过以下方式访问密钥:

strapi.config.get('server.host', 'defaultValueIfUndefined');

部署

一般准则

先决条件

为了为 Strapi 提供最佳环境,有一些要求,这些要求适用于开发(本地)以及暂存和生产工作流程。

Node LTS(v12  V14)请注意,永远不会支持奇数版本的 Node(例如 v13、v15)。
NPM v6  LTS 节点版本附带的任何内容
适用于您的操作系统的典型标准构建工具(build-essentials大多数基于 Debian 的系统上的软件包)
至少 1  CPU 内核(强烈推荐至少 2 个)
至少 2 GB  RAM(中等推荐 4
您的操作系统建议的最低要求存储空间或 32 GB可用空间
支持的数据库版本
MySQL >= 5.7.8
MariaDB >= 10.2.7
PostgreSQL >= 10
SQLite >= 3
受支持的操作系统
Ubuntu >= 18.04(仅限 LTS)
Debian >= 9.x
CentOS/RHEL >= 8
macOS Mojave 或更新版本(不支持 ARM)

Strapi 插件

自动插件发现

Strapi 会自动加载使用 npm 安装的插件。在后台,Strapi 扫描package.json项目依赖项的每个文件,并查找以下声明:

"strapi": {
  "kind": "plugin"
}

—END—

开源协议:MIT License

资源下载此资源为免费资源立即下载

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

七爪网 免费源码 最先进的开源无头 CMS,可轻松构建强大的 API https://www.7claw.com/46105.html

分享免费的开源源码

常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、七爪会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、七爪无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在七爪上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于七爪介入快速处理。
查看详情
  • 1、七爪作为第三方中介平台,依据交易合同(商品描述、交易前商定的内容)来保障交易的安全及买卖双方的权益; 2、非平台线上交易的项目,出现任何后果均与互站无关;无论卖家以何理由要求线下交易的,请联系管理举报。
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务