DoraCMS报Redis connection to 127.0.0.1:6379 问题 

近来有些同学在运行DoraCSM出现错误提示:

Error: Redis connection to 127.0.0.1:6379 failed - connect ECONNREFUSED
    at RedisClient.on_error (E:\myWeb\nodework\doracms1.0\node_modules\redis\index.js:196:24)
    at Socket.<anonymous> (E:\myWeb\nodework\doracms1.0\node_modules\redis\index.js:106:14)
    at Socket.emit (events.js:107:17)
    at net.js:459:14
    at process._tickCallback (node.js:355:11)

在此说明一下,DoraCMS 在V1.0.2版本中加入了redis缓存:


QQ截图20150917173608.jpg


这里缓存了用户信息和站点地图,细心的同学可以在app.js 中找到配置:

app.use(session({
    secret: settings.session_secret,
    store: new RedisStore({
        port: settings.redis_port,
        host: settings.redis_host,
        pass : settings.redis_psd,
        ttl: 1800 // 过期时间
    }),
    resave: true,
    saveUninitialized: true
}));

这里就设置了redis的相关信息(ip,端口号和密码),用过redis的同学一看应该就能明白,下面就介绍如何让DoraCMS不报这个错误。


1、下载redis,根据您服务器的版本下载redis,您可以到官网上下载:http://redis.io/download


这里提供一个windows下的版本 

redis-2.4.5-win32-win64.zip


2、解压后可以看到如下目录(我解压到了 D:\softbak\redis2.4.5\64bit 路径下)

QQ截图20150917174212.jpg


3、执行 redis-server.exe,出现如下界面表示启动成功:

QQ截图20150917174534.jpg


4、找到setting.js 文件(/doracms1.0/models/db/settings.js),配置redis相关参数:

redis_host: '127.0.0.1',
redis_port: 6379,
redis_psd : '',
redis_db: 0,


redis_port 默认为6379,不需要改,默认密码为空 (因为是直接启动的redis-server.exe,默认不需要密码)

redis_db 可以不用管


5、在项目根目录下执行cmd,启动服务(npm start),就不会报错了。


注意:本地调试redis可以不设置密码,放到服务器上必须设置密码,具体可以参考另一篇文章:


Redis 未授权访问漏洞

发表评论

登录 后参与评论

评论列表 (3条)

  • Sigma
    1 年前
    为了安全,建议默认设个密码。
  • doramart [  管理员]
    2 年前
    @tonwe  你好,redis在DoraCMS中其实起到的提升用户体验的作用,具体用在用户登录缓存,站点地图缓存,分类中文档总数缓存,后面还会有模板缓存,因为有些不经常变动的数据如果每次去查会影响性能,我后面考虑下是否给个开关,优化一下
  • tonwe
    2 年前
    可以不用redis么