我遵循 Cayley 文档中的“入门”指南,并在我的远程服务器上安装了 Cayley:
服务器操作系统:CentOS 7.2.1511
我已将 cayley 添加到我的 $PATH 中:
echo $PATH
:
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/csse/cayley/src/github.com/google/cayley
这是我的配置文件/etc/cayley.cfg
{
"database": "leveldb",
"db_options": {
"cache_size_mb": 2,
"write_buffer_mb": 20
},
"db_path": "~/cayley/src/github.com/google/cayley/data/testdata.nq",
"listen_host": "127.0.0.1",
"listen_port": "64210",
"read_only": false,
"replication_options": {
"ignore_missing": false,
"ignore_duplicate": false
},
"timeout": 30
}
我只需执行以下操作即可通过 http 为 cayley 服务:
cayley http
和终端输出:
Cayley 现在正在收听 127.0.0.1:64210
在我的主机(Mac OSX 10.10.5 Yosemite)上,我使用 npm 安装cayley
包并编写了一个测试:
##testconnection.js
var cayley = require('cayley');
var client = cayley("137.112.104.107");
var g = client.graph;
g.V().All(function(err, result) {
if(err) {
console.log('error');
} else {
console.log('result');
}
});
但是,当我运行它时它失败了:node testconnection.js
错误:错误:无效的 URI “137.112.104.107/api/v1/query/gremlin”
我想连接到 Cayley 并从我的测试中修改数据库。我找到了一个很好的幻灯片,里面有很多 Cayley 的信息:
以及相关的 Cayley 文档:
还有一个关于stackoverflow的帖子:
但是我正在努力想出一种将 Cayley(在我的远程机器上)与我的本地机器连接起来的方法。如果可能,我想与 npm 联系,但我愿意接受其他选择。我哪里错了?
编辑#1
我已将“http://”附加到我的 ip,所以现在它显示为http://137.112.104.107
. 那时,我通过执行解决了另一个问题
cayley init --config=/etc/cayley.cfg
正如作者在这里提到的
我还从我的配置文件中删除了listen_post
and listen_port
(首先分别删除,然后是两者),但仍然有相同的socket hang up
错误。client
这是测试脚本的打印输出:
Client {
host: 'http://137.112.104.107',
request:
{ [Function]
get: [Function],
head: [Function],
post: [Function],
put: [Function],
patch: [Function],
del: [Function],
cookie: [Function],
jar: [Function],
defaults: [Function] },
graph: Gremlin { client: [Circular], query: [Function] },
g: Gremlin { client: [Circular], query: [Function] },
write: [Function: bound ],
delete: [Function: bound ],
writeFile: [Function: bound ]
}