曾经的努力无论结局如何,那份思索是值得
从星宿UI V2.3之后再努力寻找可代替wordpress的cms框架,strapi是学习成本最低的无头cms。我们学习了《StrApi 无头Cms 快速开发API接口,无需CRUD,JWT》和《StrApi 快速上手API请求内容,filters过滤,pagination分页, sort排序》
作为快速上手的框架最后一步就是部署服务器,摸索3天之后回应开头文案:人生海海,山山而川,愿我们的努力,思索,探讨都是值得的,无论结局如何
本文做枫瑞个人学习笔记总结:
- 环境说明
- 遇到问题
- 部署过程
环境说明
strapi基于nodejs,按道理在部署任何地方问题不大。问题出在strapi依赖环境安装会到跑Git下载,即使你设置的npm,yarn的国内源
推举环境
环境:node 14 或 16
系统:CentOS 8+,Ubuntu (LTS) 20.04+,Debian 10+
nodejs 14或者16 官方是让安装strapi4.0-4.3.8之间的版本,最新版本4.6可以支持18。若宝塔无法安装nodejs 18的版本估计是因为CentOS 7.x的原因
遇到问题
部署strapi的时候 遇到终端错误,记录文章一起学习
错误1:
Warning: An error occurred while requesting the API
(终端执行 npm run build 或者 yarn build,之后再运行可解决)
错误2:
regeneratorRuntime 404
(解决错误2之后,admin可访问但是是空白的返回404错误 是目测是es6或,es5语法转化问题)
错误3:
--create-strapi-app: command not found
(删除文件夹,重新安装多次几次可以解决)
其他错误:
debug ⛔️ Server wasn't able to start properly.
error TypeError: Cannot convert undefined or null to object
EACCES: permission denied, mkdir '/root/.npm'
error node_modules/sqllive3
npm ERR! code 127
npm ERR! code 13
npm ERR! code 1
最终矛头sharp:
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! sharp@0.28.3 install:
解决错误
因为strapi部分东西设置了国内源后还是无法成功下载依赖,罪魁祸首指向sharp依赖,需要单独设置源
终端执行
yarn config set sharp_binary_host "https://npm.taobao.org/mirrors/sharp"
回车后执行
yarn config set sharp_libvips_binary_host "https://npm.taobao.org/mirrors/sharp-libvips"
全局安装
yarn global add sharp
宝塔部署
宝塔左侧菜单点击文件到www目录下运行终端需要SSH密码
按官方文档安装strapi(默认安装 SQLite)
yarn create strapi-app my-project --quickstart
最后进入到my-projec运行
yarn install
安装依赖后编译一次
yarn build
在strapi根目录建立server.js文件
// path: `./server.js`
const strapi = require('@strapi/strapi');
strapi().start();
宝塔软件商店中安装PM2,目录选择server.js文件 后点击确定
设置端口1337 和映射域名
映射域名后回到宝塔左侧菜单网站最后显示。点击设置开始部署SSL
访问域名+admin即可看到后台
总结
不同环境下未必每次都可以顺顺利利,而我们只能步步前行
学习经验 +23
头发经验 -46
评论列表(6条)
我的安装成功了,但是不能发表内容
@Felix:换一个浏览器
我的安装成功了,但是不能发表内容
@匿名:换一个浏览器
阿里云服务器,宝塔,yarn build就死机,怎么破?
@匿名:系统版本你多少