Skip to content

运行 strapi5的方式

安装后,如果是在宝塔中,有如下2种运行方式:

1、直接使用命令行运行

找到strapi5的安装目录,在该目录下执行终端,并输入如下终端即可:

bash
npm run develop
#  也可以使用以下指令
npm run start
# 如果访问后台admin时,提示404,则需要先构建admin面板
npm run build

该指令会构建admin panel,构建后,会自动出现一个可访问的url地址,比如:localhost:8080.

我们打开浏览器,将localhost改为你的服务器的ip地址,即可访问strapi5的后台。

image-20240702154623079

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

image-20240702173123680

问题:当我关闭SSL弹框或页面后,还是不行。

那么如何关闭进程:

开启服务有了,但是如何关闭呢,单纯的杀掉端口进程是没有用的,它还会自动重启。

方法是kill掉父进程,然后kill掉服务进程。具体见下方的参考链接:

参考链接:https://blog.csdn.net/u013952845/article/details/132669502

如何让其保存后台运行(此方法不可行)

安装进程守护管理器-3.0.5,不可行,无法启动。放弃。

参考链接:https://www.bt.cn/bbs/thread-54473-1-1.html

如何让其保存后台运行(此方法可行)

image-20240702184235031

参考链接: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的一些配置无法使用。但是直接用命令行则无问题。

bash
启动失败
/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 buildyarn build 来构建项目的生产版本。然后,你可以将 dist 目录部署到生产服务器上。这个目录包含了你的 Strapi 项目的所有代码和资源,包括你的 API、插件、中间件和上传的文件。

然而,你不能直接部署 dist 目录。你需要将整个项目部署到服务器上,包括 node_modules 目录、配置文件和数据库文件。然后在服务器上运行 npm run startyarn start 来启动你的 Strapi 项目。

https://docs-next.strapi.io/dev-docs/deployment/amazon-aws#prepare-and-clone-strapi-project-to-server

前端三评为个人技术博客,你可与我联系(v:imqdcnn),未经许可禁止任何形式的转载