运行 strapi5的方式
安装后,如果是在宝塔中,有如下2种运行方式:
1、直接使用命令行运行
找到strapi5的安装目录,在该目录下执行终端,并输入如下终端即可:
npm run develop
# 也可以使用以下指令
npm run start
# 如果访问后台admin时,提示404,则需要先构建admin面板
npm run build该指令会构建admin panel,构建后,会自动出现一个可访问的url地址,比如:localhost:8080.
我们打开浏览器,将localhost改为你的服务器的ip地址,即可访问strapi5的后台。

缺点:无法配置SSL。并且你还不能在宝塔中关闭命令行工具,关闭后无法保持后台运行。
如何让其保存后台运行(此方法不可行)
- 先用命令行的方式将项目跑起来:npm run start
- chrl+z,将命令挂载
- 输入:bg 1 表示在后台运行
- 输入:disown -h %1 完美实现

问题:当我关闭SSL弹框或页面后,还是不行。
那么如何关闭进程:
开启服务有了,但是如何关闭呢,单纯的杀掉端口进程是没有用的,它还会自动重启。
方法是kill掉父进程,然后kill掉服务进程。具体见下方的参考链接:
参考链接:https://blog.csdn.net/u013952845/article/details/132669502
如何让其保存后台运行(此方法不可行)
安装进程守护管理器-3.0.5,不可行,无法启动。放弃。
如何让其保存后台运行(此方法可行)

参考链接:https://blog.csdn.net/qq_36476095/article/details/100695936
我的访问链接:http://175.178.102.95:8876/
总结:
此方法只支持nohup npm run start &这个生产模式,使用nohup npm run develop &依然会报错。
所以,我现在的临时解决办法是先命令行的方式开启develop,创建所有必要collection后,再切换到 start,让其后台运行。
2、在宝塔中创建一个node站点
配置后,出现的问题是无法启动,会报错,报nodejs18的一些配置无法使用。但是直接用命令行则无问题。
启动失败
/www/server/nodejs/v18.16.1/bin/node: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /www/server/nodejs/v18.16.1/bin/node) /www/server/nodejs/v18.16.1/bin/node: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by /www/server/nodejs/v18.16.1/bin/node) /www/server/nodejs/v18.16.1/bin/node: /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /www/server/nodejs/v18.16.1/bin/node) /www/server/nodejs/v18.16.1/bin/node: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /www/server/nodejs/v18.16.1/bin/node) /www/server/nodejs/v18.16.1/bin/node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /www/server/nodejs/v18.16.1/bin/node) /www/server/nodejs/v18.16.1/bin/node: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /www/server/nodejs/v18.16.1/bin/node)这还是因为我的服务器是centerOS7,缺少一些运行环境。它不支持直接安装nodejs18。
解决方式:
目前没有好的办法,只能考虑升级到centeros8。
但是成本较大,因为升级意味着重装电脑,所有的环境和站点都可能需要重新配置。
问题
1、strapi5能不能build后,直接使用它的dist部署?
新版的strapi5的文档引入了一个ask AI,可以直接用中文提问和回答。
我输入了问题:npm run build的作用是什么?是否可以直接部署dist目录
同时问文档AI和ChatGPT4,发现文档的AI准确度比ChatGPT4更高。
因为ChatGPT回答的是通用的问题,并没有了解到strapi5的build和dist目录的作用。
根据askAI的回答,是不能直接部署dist目录。
npm run build是一个命令,用于构建 Strapi 项目的生产版本。这个命令会创建一个dist目录,其中包含了项目的 JavaScript 源代码的编译版本。这个命令在 TypeScript 项目中尤其重要,因为它会将 TypeScript 文件转译为 JavaScript 文件。在部署 Strapi 项目时,你需要先运行
npm run build或yarn build来构建项目的生产版本。然后,你可以将dist目录部署到生产服务器上。这个目录包含了你的 Strapi 项目的所有代码和资源,包括你的 API、插件、中间件和上传的文件。然而,你不能直接部署
dist目录。你需要将整个项目部署到服务器上,包括node_modules目录、配置文件和数据库文件。然后在服务器上运行npm run start或yarn start来启动你的 Strapi 项目。