【发布时间】:2020-10-01 00:15:25
【问题描述】:
我正在尝试使用 mongoDB 将我的 Strapi 应用程序部署到 Heroku,但每次尝试部署时都会收到此错误。
debug ⛔️ Server wasn't able to start properly.
2020-06-11T10:38:53.257748+00:00 app[web.1]: [2020-06-11T10:38:53.257Z] error Error connecting to the Mongo database. Server selection timed out after 30000 ms
2020-06-11T10:38:53.268085+00:00 app[web.1]: npm ERR! code ELIFECYCLE
2020-06-11T10:38:53.268583+00:00 app[web.1]: npm ERR! errno 1
2020-06-11T10:38:53.270443+00:00 app[web.1]: npm ERR! backend@0.1.0 start: `strapi start`
2020-06-11T10:38:53.270697+00:00 app[web.1]: npm ERR! Exit status 1
该应用程序在本地运行,我遵循了许多教程(1、2),包括offical Strapi documentation 的许多版本,以使其正常工作,但它们都导致了这个错误。我查看了类似的 Stack questions / Strapi github Issues,看看我的问题是否可以通过调整他们的答案来解决,但没有任何效果。
我已确保我的heroku config database_url 和 database_name 与我的database_uri 字符串匹配,并且我使用yarn create strapi-app backend 创建了strapi 应用程序,然后选择了mongo,确保不使用--quickstart。
我的完整strapi应用,包括database.js, server.js, *config/environments/production/database.json可以在这里查看https://github.com/KyleSFraser/Portfolio/tree/master/backend
我一直在循环使用试图部署的文档或教程不断重建后端。我非常感谢任何能解决这个反复出现的问题并使用 Heroku 和 Strapi 成功部署我的 mongoDB 的指针。
编辑 现在正在删除以前的配置变量
【问题讨论】:
-
您是否在 Heroku 应用中设置了所有
DATABASE_环境变量? -
嘿 Maxim,是的,我的 DATABASE_ 环境变量都设置在 Heroku 应用程序中,我已经在最初的问题中添加了这个截图和 DATABASE_URI。我确定我设置正确,但如果您发现任何不正确的地方,请告诉我
-
我在尝试连接到该数据库时也遇到超时错误。仔细检查您的数据库是否已启动并使用 mLab 运行。你说它在本地工作,你是连接到 mLab 还是本地 MongoDB?
-
嗯,这很奇怪。其他一切对我来说都很好。尝试在 Heroku 中设置
DATABASE_SSL=true以匹配来自database.json的"ssl": true。如果这仍然不起作用,那么我不确定问题可能是什么。也许其他人可以发现一些东西。 -
我试了一下,但不幸的是没有成功,非常感谢您花时间帮助我,非常感谢!希望你有一个美好的一天和周末!
标签: node.js mongodb heroku deployment strapi