couchdb/stable
我已经通过 Apache CouchDB PPA ( )在 Trusty 盒子上安装了 CouchDB 1.6.1 。这一切似乎都有效,除了我无法使用service couchdb start
(类似于停止)启动服务。我通过在以下脚本中解决了这个问题/usr/local/bin
:
#!/bin/bash
export ERL_FLAGS="+A 16"
export ERL_MAX_PORTS=8192
nohup couchdb > /opt/couchdb/log/couch.log 2>&1 &
我必须手动运行它(或用 停止它kill
)。service
命令说它们有效,但 CouchDB 立即失败。这很好,除非在极少数情况下机器需要重新启动;如果 CouchDB 自动出现就好了。
在我在网上找到的各个页面上,都有对捆绑init.d
脚本的引用。事实上,我发现了一个生成的init.d
脚本,它应该与 CouchDB 一起安装:我尝试了这个,并进行了适当的编辑,但同样的问题仍然存在。
我在网上找到的很多文档似乎都非常过时(例如,它引用了对 PPA 安装版本和/或 Trusty 无效的路径)。当前的“最佳方法”是什么?
事实证明,使用 Upstart 启动/停止 CouchDB 失败的原因是它想要写入的目录(日志、数据等)——与安装的默认值不同——
couchdb:couchdb
用户无法访问。也就是说,以下解决了问题:我几乎是偶然发现了这一点。显然,由于它无法写入它想要的日志文件,那是没用的。然而,Upstart 日志更好地表明了哪里出了问题!
无论如何,因此,
init.d
脚本是一个无关紧要的红鲱鱼。只要它可以访问所需的一切,它就可以按文档说明工作。