我遵循了Cayley文档中的“入门”指南,并在我的远程服务器上安装了Cayley:
Server OS:CentOS 7.2.1511
我在我的$PATH中添加了cayley:
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
终端输出:
凯西现在收听127.0.0.1:64210
在我的主计算机(MacOSX10.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并从我的测试中修改数据库。我找到了一个很棒的powerpoint,里面装满了Cayley的信息:
以及相关的Cayley医生:
以及堆叠溢出的帖子:
但是我正在努力想出一种方法来连接Cayley (在我的远程机器上)和我的本地机器。如果可能的话,我想与国家预防机制联系,但我愿意接受其他选择。我哪里出问题了?
编辑#1
我已经将"http://“”附加到了我的ip中,所以现在它会读到http://137.112.104.107。在这一点上,我通过表演解决了另一个问题
作者提到的cayley init --config=/etc/cayley.cfg,这里
我还从我的配置文件中删除了listen_post和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 ]
}发布于 2017-02-14 09:03:39
您的Cayley服务器正在监听127.0.0.1 / localhost,因此无法从另一台计算机访问。要从网络上的虚拟机或另一台计算机到达它,它需要绑定到可访问的接口。
如果您配置了主机: 0.0.0.0并检查您的网络IP是什么(我假设: 137.112.104.107)并连接它,那么它应该可以工作,或者您需要打开它或在防火墙上转发端口(取决于您的网络)。
https://stackoverflow.com/questions/36660142
复制相似问题