我是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云而不是本地云?
谢谢
答案 0 :(得分:0)
将Heroku配置var复制到本地.env文件
heroku config -s > .env
使用Heroku Local命令在本地运行您的应用
heroku local
使用heroku local
启动应用程序时,将读取.env文件,并将每个名称/值对插入到环境中,以模拟config vars的操作。
答案 1 :(得分:0)
var client = redis.createClient(port,hostname);