如何获取本地heroku应用程序以连接到远程REDIS?

时间:2018-07-27 18:48:35

标签: node.js heroku redis

我是Heroku / Redis的新手。我创建了一个基本的node.js,并表达了我添加了REDIS插件的APP。

heroku addons:create heroku-redis:hobby-dev -a MyApp

我有一个index.js,服务器从该端口运行在端口5000上

const express = require('express')
const path = require('path')
const PORT = process.env.PORT || 5000
const client = require('redis').createClient(process.env.REDIS_URL);

express()
  .use(express.static(path.join(__dirname, 'public')))
  .set('views', path.join(__dirname, 'views'))
  .set('view engine', 'ejs')
  .get('/', (req, res) => res.render('pages/index'))
  .listen(PORT, () => console.log(`Listening on ${ PORT }`))

我的存储库从Heroku连接到我的个人github,该应用程序运行良好,但是每当我尝试在本地运行它时,它似乎都试图在本地连接REDIS,因此在运行node命令(节点索引)时出现以下错误.js):

Listening on 5000
events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED 127.0.0.1:6379

我对此很陌生,但假设环境是错误的:process.env.REDIS_URL,如何直接连接到Heroku云而不是本地云?

谢谢

2 个答案:

答案 0 :(得分:0)

  1. 将Heroku配置var复制到本地.env文件

    heroku config -s > .env
    
  2. 使用Heroku Local命令在本地运行您的应用

    heroku local
    

    使用heroku local启动应用程序时,将读取.env文件,并将每个名称/值对插入到环境中,以模拟config vars的操作。

https://devcenter.heroku.com/articles/heroku-local上的详细信息

答案 1 :(得分:0)

var client = redis.createClient(port,hostname);