Strapi 安装及使用腾讯云对象储存

2023-10-23 15:52:33 浏览数 (1)

纯安装向,没有多余解释

操作系统:Ubuntu 22.04 LTS

安装Nodejs和npm

安装 Nodejs

代码语言:shell复制
sudo apt install Nodejs

安装 npm

代码语言:shell复制
sudo apt install npm

安装Nodejs 版本管理工具

代码语言:shell复制
sudo npm i -g n

更新 Nodejs 最新稳定版

代码语言:shell复制
sudo n stable

安装yarn包管理器

代码语言:shell复制
sudo i -g yarn


安装 Strapi

回到用户目录

代码语言:shell复制
cd /home/username

1.快速安装(默认使用SQLite)

代码语言:shell复制
yarn create strapi-app ProjectName --quickstart

ProjectName 是你创建的项目名称,自行修改

2.自定义安装

代码语言:shell复制
yarn create strapi-app ProjectName

- Quickstart (recommended) 快速安装

- Custom (manual settings) 自定义安装

自定义安装后配置语言和数据库即可完成安装

安装后看到命令使用方法及介绍:

代码语言:shell复制
yarn develop
在开发模式下启动Strapi(Strapi项目文件的更改将触发服务器重启)
yarn start
直接启动生产模式Strapi
yarn build
编译Strapi项目
yarn strapi
输出Strapi所有可用的命令。

安装 Tencent Cloud Storage

安装前自行配置好储存桶及CDN

代码语言:shell复制
yarn add strapi-provider-upload-tencent-cloud-storage

配置对象储存信息

创建或修改./config/plugins.js文件

添加以下内容

代码语言:javascript复制
module.exports = ({ env }) => ({
  // 添加开始
  upload: {
    config: {
      provider: "strapi-provider-upload-tencent-cloud-storage",
      providerOptions: {
        CDNDomain: "example-cdn-domain.com",
        SecretId: env("COS_SecretId"),
        SecretKey: env("COS_SecretKey"),
        Region: env("COS_Region"),
        Bucket: env("COS_Bucket"),
      },
    },
  },
  // 添加结束
});

"example-cdn-domain.com"修改为 CDN 域名

在程序项目根目录.env文件内填入对象储存相关信息,没有创建一个

代码语言:javascript复制
COS_SecretId=xxx
COS_SecretKey=xxx
COS_Region=xxx
COS_Bucket=xxx

COS_SecretId COS_SecretKey 在 访问密钥 内查看,没有自行创建一个

COS_Region COS_Bucket为你在腾讯云 对象储存 创建的储存桶区域和储存桶名称

接着修改./config/middlewares.js文件内容

将文件内"strapi::security",替换修改为

代码语言:javascript复制
  {
    name: "strapi::security",
    config: {
      contentSecurityPolicy: {
        useDefaults: true,
        directives: {
          "connect-src": ["'self'", "https:"],
          "img-src": [
            "'self'",
            "data:",
            "blob:",
            "market-assets.strapi.io",
            "yourBucketName.cos.yourRegion.myzijiebao.com",
          ],
          "media-src": [
            "'self'",
            "data:",
            "blob:",
            "market-assets.strapi.io",
            "yourBucketName.cos.yourRegion.myzijiebao.com",
          ],
          upgradeInsecureRequests: null,
        },
      },
      //新增:解决 CDN 跨域问题,不添加会导致后台图片 403
      referrerPolicy: {
        policy: 'origin-when-cross-origin',
      },
    },
  },

将文件内yourBucketName.cos.yourRegion.myzijiebao.com修改为储存桶 CDN 域名,不添加 Strapi 后台无法查看图片

踩坑:

1.nodejs一定要升级,版本过低会报错

2.不要混用 npm yarn

3.国内网络可能会导致包安装失败,依赖不全等问题

详细教程参考 Strapi’s documentation 及 Tencent Cloud Storage | Strapi Market

0 人点赞