簡體   English   中英

連接到通過本地主機提供服務的Cayley

[英]Connecting to Cayley serving over localhost

我遵循了Cayley文檔中的“入門”指南,並在遠程服務器上安裝了Cayley:

入門: https//github.com/google/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信息的強大簡報:

https://docs.google.com/presentation/d/1tCbsYym1kXWWDcnRU9ymj6xP0Nvgq-Qhy9WDmqWcM-o/edit#slide=id.g3776708f1_0319

以及相關的Cayley文檔:
- 總覽文件
- 配置文件
-HTTP API文檔

還有關於stackoverflow的文章:
- 通過HTTP連接的Cayley數據庫用戶和密碼保護

但是我正在努力想出一種將Cayley(在遠程計算機上)與本地計算機連接的方法。 如果可能,我想與npm聯系,但歡迎其他選擇。 我要去哪里錯了?

編輯#1

我已經在IP上附加了“ http://”,因此現在顯示為http://137.112.104.107 那時,我通過執行

作者在此處提到的cayley init --config=/etc/cayley.cfg

我還從我的配置文件中刪除了listen_postlisten_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 ]
}

您的Cayley服務器正在127.0.0.1 / localhost上偵聽,因此無法從另一台計算機訪問。 為了能夠從網絡上的虛擬機或另一台計算機訪問它,它需要綁定到可訪問的接口。

如果您配置主機:0.0.0.0並檢查什么是您的網絡IP(我假設:137.112.104.107)並連接它,它應該可以工作,或者您需要打開它或轉發防火牆上的端口(取決於網絡)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM