3

我在我的 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)

4

1 回答 1

1

如果您在访问时有索引页面,/admin那是因为未构建管理员。

yarn build在启动您的应用程序之前运行。

于 2019-09-04T09:38:30.807 回答