我在我的 Apache cPanel(CentOS 7 上的 WHM)中设置了 Strapi 安装,但找不到合适的方法来部署它。我设法让它运行,但是当我尝试访问仪表板(/admin)时,它只显示索引页面(公共/索引中的那个)。
这是将 Strapi 部署到 Apache 服务器的正确方法吗?
“--quickstart”设置仅用于测试目的,还是可以在生产中使用?如果是这样,我需要采取哪些部署前步骤?
这是一个简单的项目,需要轻松编辑内容,这些内容将通过 API 从另一个 cPanel 安装中手动获取。
通读 Strapi 文档,我只能找到有关 Heroku、Netlify 和其他第三方服务的部署信息,例如,在 Apache/cPanel 上托管它自己没有。
我尝试在本地设置一个“--quickstart”项目,让它工作,然后通过 Bitbucket Pipelines 进行部署。之后,只需进入 cPanel 终端并启动它 - 虽然出现上述问题,但无法访问管理仪表板。
这是我的 server.json 配置:
生产
{
"host": "api.example.com",
"port": 1337,
"production": true,
"proxy": {
"enabled": false
},
"cron": {
"enabled": false
},
"admin": {
"autoOpen": false
}
}
发展
{
"host": "localhost",
"port": 1337,
"proxy": {
"enabled": false
},
"cron": {
"enabled": false
},
"admin": {
"autoOpen": false
}
}
尝试访问它时没有控制台错误,也没有 404。
编辑
关于使用 --quickstart 设置的部署:
有许多特性(主要与搜索有关)不能与 SQLite 一起正常工作(缺乏适当的索引支持)更不用说由于磁盘速度和磁盘的原始 IOPS 而可能导致的缓慢。
关于如何实施的建议:
恭敬地,要部署 Strapi,您可能需要: 1. 为它构建一个 docker 容器 2. 编写脚本来部署它 3. 使用 SSH 并手动执行 4. 使用 CI/CD 平台并编写脚本来部署它
总之:
Strapi 不是典型的“复制文件并启动 apache”,它不是平面文件系统,Strapi 本身旨在作为类似于 Apache/Nginx/MySQL 等的服务运行。它们都是服务(Strapi 确实需要 Apache/Nginx/Traefik 通过代理为其执行 ssl)