0

问题:

从这个简单的“教程”样式代码中,当我启动服务器时,它会打印server started on 8080到控制台然后结束。没有提供额外的错误或输入。

(......代码后的更多调试信息......)

var hapi = require('hapi');

var server = new hapi.Server(8080, "localhost", {
    cache: {
        engine: require('catbox-redis'),
        options: {
            host: "10.99.99.99",  // fake ip
            partition: 'hello',   
            password: "soopersekret"  // not really, but you get the idea
        }
    } });

server.route({
    method: 'GET',
    path: '/',
    handler: function (request, reply) {
        reply('hello world');
    } });

server.start(function () { console.log('server started on 8080'); });

尝试进行其他调试:

  1. 在开发系统上使用redis-cli,我们可以连接到主机并使用AUTH密码成功查看密钥,所以连接似乎没问题。
  2. 在开发系统上运行 redis 的本地实例,注释掉host,服务器启动并提供内容
  3. 注释掉整个cache配置部分会导致内容按预期提供

相信连接和配置不是问题,并且使用如此简单的应用程序,并且没有来自应用程序的任何其他关于可能是什么问题的反馈,我们被难住了。:(

版本:节点 0.10.30;hapi 6.4.0;猫盒 3.1.0;catbox-redis 1.0.4

4

1 回答 1

0

检查是否在传递给 server.start 的回调中收到错误对象;

server.start(function (err) { 
  if (err) {
    return console.log(err); 
  }
  console.log('server started on 8080');
});
于 2015-02-04T22:34:35.837 回答