Trusty 的 CouchDB init.d 脚本

Trusty 的 CouchDB init.d 脚本

我已经通过 Apache CouchDB PPA ( ) 在 Trusty 机器上安装了 CouchDB 1.6.1 couchdb/stable。这一切似乎都有效,只是我无法使用 (类似地停止) 启动服务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 无效)。当前“执行此操作的最佳方法”是什么?

答案1

事实证明,使用 Upstart 启动/停止 CouchDB 失败的原因是它想要写入的目录(日志、数据等)与安装的默认目录不同,用户无法访问couchdb:couchdb。也就是说,以下操作解决了这个问题:

chown -R couchdb:couchdb /path/to/couchdb

我几乎是偶然发现这一点的。显然,由于它无法写入所需的日志文件,所以这毫无用处。但是,Upstart 日志更好地表明了出了什么问题!

无论如何,就其本身而言,该init.d脚本只是无关紧要的烟幕弹。只要它能够访问所需的一切,它就可以按文档所述工作。

相关内容