配置Couchbase Server和Couchbase Sync Gateway

时间:2018-04-20 04:10:35

标签: node.js couchbase couchbase-sync-gateway

我使用localhost:3000

成功连接我的couchbase服务器和我的应用程序
var express = require('express');
var bodyParser = require("body-parser");
var couchbase =require("couchbase");
var request = require("request");

var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));


var cluster = new couchbase.Cluster('couchbase://localhost'); 
cluster.authenticate('Administrator', 'ABcd1234'); 
var bucket = cluster.openBucket('non-med'); //the name of bucket is 'example'
bucket.on('error', function(err) { console.log('Bucket: CONNECT ERROR:', err);}); 

module.exports.bucket = bucket;

var routes = require("./routes.js")(app);

var server = app.listen(3000, function(){
    console.log("Listening on  port%s...", server.address().port); 
});

我还在我的mac上下载了Couchbase Sync Gateway,推荐行和服务加载如下所示

sudo ./sync_gateway_service_install.sh
chown: sync_gateway: illegal user name
chown: sync_gateway: illegal user name
/Library/LaunchDaemons/com.couchbase.mobile.sync_gateway.plist: service already loaded

大家可以告诉你如何详细配置Conuchbase Sync Gateway?

  • 对app.js的任何修改
  • 是否需要创建新文件,例如同步网关config.json? 如果是这样,

  • (2a)我在哪里包含此文件?我的应用程序项目文件夹?

  • (2b)我可以知道json的格式吗?

谢谢

2 个答案:

答案 0 :(得分:1)

同步网关需要作为单独的文件运行。您可以通过在http://localhost:4985/_admin/中创建频道来设置设置同步标准。您可以参考https://developer.couchbase.com/documentation/mobile/current/installation/sync-gateway/index.html来运行同步网关。我将在下面附上一个示例同步网关配置文件。干杯!!

{
    "log": [
        "HTTP+"
    ],
    "adminInterface": "localhost:4985",     //Public port
    "interface": "localhost:4984",       //Admin port
    "databases": {
        "your_cluster_name": {          //add your couchbase cluster name
            "server": "http://localhost:8091",  //add couchbase server url
            "username": "your_username",
            "password": "your_password",
            "bucket": "your_bucket_name",
            "users": {
                "GUEST": {
                    "disabled": true
                },
                "admin": {
                    "admin_channels": ["*"],  //give permission to all the channels
                    "password": "123456"   //admin channel password
                }
            },
            "import_docs": "continuous",
            "enable_shared_bucket_access": true,
            "sync":`
           function(doc) {
                channel(filter); // set your filtering criteria          
            }`
        }
    }
}

答案 1 :(得分:1)

Sync Gateway直接与Couchbase Server对话。 (在生产中,您通常不会在同一台机器上运行它们。确保防火墙/网络过滤不会阻止访问。)

Sync Gateway会侦听来自客户端(移动)应用程序的连接。在大多数典型情况下,它不会与您的Node应用程序交互。

通过提供包含参数的文件来配置Sync Gateway。该文件的名称并不重要。格式和参数位于以下文档中:https://developer.couchbase.com/documentation/mobile/current/guides/sync-gateway/config-properties/index.html

同步网关分发中还包含示例配置文件。

您无需通过管理界面创建频道。您通常在配置文件中或通过同步功能执行此操作。了解同步功能及其功能非常重要。请参阅此处的文档:https://developer.couchbase.com/documentation/mobile/2.0/guides/sync-gateway/sync-function-api-guide/index.html