3

我正在尝试使用一些第三方代码

couchdb -a ./my/couch.ini

这在 Windows 上不起作用,因为该couchdb.bat文件不会将参数传递给 CouchDB。所以 CouchDB 总是在默认端口 (5984) 上启动,而不是在./my/couch.ini(15984) 中指定的端口。

我尝试使用批处理文件的内容手动传递参数。IE

cd "C:\Program Files (x86)\Apache Software Foundation\CouchDB\bin"
erl -sasl errlog_type error -s couch -a /full/path/to/my/couch.ini

但这似乎没有做任何事情,即它仍然在 5984 上。

我尝试了 的一些变体/full/path/to/my/couch.ini,例如C:/full/path/to/my/couch.iniandC:\full\path\to\my\couch.iniC:\\full\\path\\to\\my\\couch.ini,但没有区别。

有没有人能够使用自定义couch.ini文件在 Windows 上运行 CouchDB?

4

3 回答 3

3

我现在没有要确认的 windows 框,但您可能不需要在下面包含默认和本地参数。-s couch在之前添加couchdb.bat

 -couch_ini ../etc/couchdb/default.ini ../etc/couchdb/local.ini /path/to/custom/couch.ini

笔记:

  • 所有路径都相对于%COUCH%/bin/

  • 指定的最后一个 ini 文件需要是可写的,这是更新参数应该去的地方

  • 通过首先将它们放在一个可读文件中来保护您的白名单参数

FWIW,我自制的 mac 版本上的 unix 语法是:

usr/local/Cellar/erlang/R15B01/lib/erlang/erts-5.9.1/bin/beam.smp -Bd -K true -A 4 -- -root /usr/local/Cellar/erlang/R15B01/lib/erlang -progname erl -- -home ~ -- -noshell -noinput -os_mon start_memsup false start_cpu_sup false disk_space_check_interval 1 disk_almost_full_threshold 1 -sasl errlog_type error -couch_ini /usr/local/etc/couchdb/default.ini /usr/local/etc/couchdb/local.ini -s couch

如果您记录一个 描述您想要实现的目标的jira 票证,我会看看是否可以将它放入 1.3.0。

于 2012-08-05T22:34:22.350 回答
1

我已经修改了: C:\Program Files (x86)\Apache Software Foundation\CouchDB\etc\couchdb\local.ini C:\Program Files (x86)\Apache Software Foundation\CouchDB\etc\couchdb\defaults。初始化

[httpd]部分 为:

port = 5984
bind_address = 0.0.0.0

并重新启动了 CouchDB。这有帮助

于 2013-04-17T11:54:16.900 回答
1

理论上,您应该只编辑位于下的local.ini

$PROGRAMS_DIR\Apache Software Foundation\CouchDB\etc

CouchDB 默认会解析这个配置文件。我知道这并不完全符合您的要求,但我想这是唯一的方法。

于 2012-08-05T13:02:01.183 回答