纯安装向,没有多余解释
操作系统:Ubuntu 22.04 LTS
sudo apt install Nodejs
sudo apt install npm
sudo npm i -g n
sudo n stable
sudo i -g yarn
回到用户目录
cd /home/username
yarn create strapi-app ProjectName --quickstart
ProjectName 是你创建的项目名称,自行修改
yarn create strapi-app ProjectName
- Quickstart (recommended) 快速安装
- Custom (manual settings) 自定义安装
自定义安装后配置语言和数据库即可完成安装
安装后看到命令使用方法及介绍:
yarn develop
在开发模式下启动Strapi(Strapi项目文件的更改将触发服务器重启)
yarn start
直接启动生产模式Strapi
yarn build
编译Strapi项目
yarn strapi
输出Strapi所有可用的命令。
安装前自行配置好储存桶及CDN
yarn add strapi-provider-upload-tencent-cloud-storage
创建或修改./config/plugins.js
文件
添加以下内容
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
文件内填入对象储存相关信息,没有创建一个
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",
替换修改为
{
name: "strapi::security",
config: {
contentSecurityPolicy: {
useDefaults: true,
directives: {
"connect-src": ["'self'", "https:"],
"img-src": [
"'self'",
"data:",
"blob:",
"market-assets.strapi.io",
"yourBucketName.cos.yourRegion.myqcloud.com",
],
"media-src": [
"'self'",
"data:",
"blob:",
"market-assets.strapi.io",
"yourBucketName.cos.yourRegion.myqcloud.com",
],
upgradeInsecureRequests: null,
},
},
//新增:解决 CDN 跨域问题,不添加会导致后台图片 403
referrerPolicy: {
policy: 'origin-when-cross-origin',
},
},
},
将文件内yourBucketName.cos.yourRegion.myqcloud.com
修改为储存桶 CDN 域名,不添加 Strapi 后台无法查看图片
踩坑:
1.nodejs
一定要升级,版本过低会报错
2.不要混用 npm
和 yarn
3.国内网络可能会导致包安装失败,依赖不全等问题
详细教程参考 Strapi’s documentation 及 Tencent Cloud Storage | Strapi Market
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。