如何让本地heroku应用程序连接到远程REDIS?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让本地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 }`))
我的repo连接到Heroku的个人github,应用程序运行良好,但每当我尝试在本地运行时,它似乎尝试连接到本地REDIS,所以运行我的node命令时出现以下错误(node index.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云而不是本地云?
谢谢
答案
- 将Heroku配置变量复制到本地.env文件
heroku config -s > .env
- 使用Heroku Local命令在本地运行您的应用程序
heroku local
当您使用heroku local
启动应用程序时,将读取.env文件,并将每个名称/值对插入到环境中,以模仿配置变量的操作。
在https://devcenter.heroku.com/articles/heroku-local的详细信息
另一答案
var client = redis.createClient(port,hostname);
以上是关于如何让本地heroku应用程序连接到远程REDIS?的主要内容,如果未能解决你的问题,请参考以下文章
如何从本地机器上运行的 Django App 连接到 ElastiCache 实例 (Redis)