在Dokku上部署Strapi EADDRNOTAVAIL错误

时间:2020-04-15 21:42:37

标签: mongodb mongoose strapi dokku

我正在尝试将Strapi部署在Digital Ocean Droplet的Dokku实例上。我最初遇到了一些与mongo数据库连接的问题,但是经过一番尝试和错误以及对these docsthis issue的大量评论,我才能够停止抱怨mongo连接。这是我最后的config/environments/production/database.json

{
  "defaultConnection": "default",
  "connections": {
    "default": {
      "connector": "mongoose",
      "settings": {
        "client": "mongo",
        "uri": "${process.env.MONGO_URL}",
        "database": "${process.env.DATABASE_NAME}",
        "username": "${process.env.DATABASE_USERNAME}",
        "password": "${process.env.DATABASE_PASSWORD}",
        "port": "${process.env.DATABASE_PORT || 27017}"
      },
      "options": {
        "authenticationDatabase": "${process.env.DATABASE_AUTHENTICATION_DATABASE || ''}",
        "useUnifiedTopology": "${process.env.USE_UNIFIED_TOPOLOGY || false}",
        "ssl": "${process.env.DATABASE_SSL || false}"
      }
    }
  }
}

这是我的config/environments/production/server.json

{
  "host": "${process.env.HOST || '0.0.0.0'}",
  "port": "${process.env.PORT || 1337}",
  "production": true,
  "proxy": {
    "enabled": false
  },
  "cron": {
    "enabled": false
  },
  "admin": {
    "autoOpen": false
  }
}

我认为最初的问题是我不小心将PORT变量用于数据库,而不是DATABASE_PORT变量。

但是,现在我已经解决了这个错误:

error Error: listen EADDRNOTAVAIL: address not available <my-host-ip>:5000

我以为也许某个错误的端口被缓存在某个地方,但是不管我做什么,我似乎都无法正常工作。我需要启用ssl吗?然后将一个letencrypt证书添加到我的域?我使用了错误的端口吗?在server.json中设置代理?

PS。我正在使用Dokku Mongo。考虑到测功机不会像在heroku上那样睡觉,这不是一个问题。那是不正确的假设吗?

此外,Droplet上还运行着其他应用程序。也许是代理问题?

0 个答案:

没有答案