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

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.iniC:\full\path\to\my\couch.iniC:\\full\\path\\to\\my\\couch.ini ,但没​​有区别。

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

最佳答案

我现在没有 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 ticket 描述你想要实现的目标,我会看看我是否可以把它放到 1.3.0 中。

    关于windows - 如何在 Windows 上使用自定义 couch.ini?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11812365/

    10-13 07:15