簡體   English   中英

Strapi Heroku 部署無法連接到 MongoDB

[英]Strapi Heroku deployment fails to connect to MongoDB

我正在嘗試使用 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) ,包括許多版本的官方 Strapi 文檔以使其正常工作,但它們都導致了這個錯誤。 我查看了類似的堆棧問題/Strapi github 問題,看看我的問題是否可以通過調整他們的答案來解決,但沒有任何效果。

我已確保我的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 的指針。

編輯刪除以前的配置變量,因為它正在工作

添加uri: env('DATABASE_URI' || ''),到我的database.js文件已經解決了這個問題,不知道為什么它首先丟失。

對於任何有類似問題的人,這是我的database.jsserver.js供參考;

數據庫.js

  defaultConnection: 'default',
  connections: {
    default: {
      connector: 'mongoose',
      settings: {
        uri: env('DATABASE_URI' || ''),
        host: env('DATABASE_HOST', '127.0.0.1'),
        srv: env.bool('DATABASE_SRV', false),
        port: env.int('DATABASE_PORT', 27017),
        database: env('DATABASE_NAME', '(backend)'),
        username: env('DATABASE_USERNAME', ''),
        password: env('DATABASE_PASSWORD', ''),
      },
      options: {
        authenticationDatabase: env('AUTHENTICATION_DATABASE', null),
        ssl: env.bool('DATABASE_SSL', false),
      },
    },
  },
});

服務器.js

module.exports = ({ env }) => ({
  host: env('HOST', '0.0.0.0'),
  port: env.int('PORT', 1337),
});

最后確保您所有的 Heroku 配置變量都設置為匹配您的 mongoDB/數據庫 URI 的相關細分

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM