CouchDB:无法正常启动CouchDB

标签 couchdb ubuntu-14.04

我是 couchDB 的新手。最近,我在这里通过快速安装说明深入研究了它:

sudo apt-get update -y

sudo apt-get install g++ -y
sudo apt-get install erlang-base erlang-dev erlang-eunit erlang-nox -y
sudo apt-get install libmozjs185-dev libicu-dev libcurl4-gnutls-dev libtool -y

curl -O http://apache.mirrors.tds.net/couchdb/source/1.5.1/apache-couchdb-1.5.1.tar.gz
tar -zxvf apache-couchdb-1.5.1.tar.gz 
cd apache-couchdb-1.5.1

./configure
make
sudo make install

sudo adduser --disabled-login --disabled-password --no-create-home couchdb

sudo chown -R couchdb:couchdb /usr/local/var/log/couchdb
sudo chown -R couchdb:couchdb /usr/local/var/lib/couchdb
sudo chown -R couchdb:couchdb /usr/local/var/run/couchdb

sudo ln -s /usr/local/etc/logrotate.d/couchdb /etc/logrotate.d/couchdb
sudo ln -s /usr/local/etc/init.d/couchdb  /etc/init.d

sudo update-rc.d couchdb defaults


1. modify /usr/local/etc/couchdb/local.ini
2. change bindAddress to 0.0.0.0
3. reboot
4. remember to go into the config settings and secure server
5. remember to turn on auto compaction

我完全按照指南进行操作,除了第四步和第五步,因为我不知道该怎么做。当我运行时:

couchdb

我在终端中收到以下消息(我使用的是 Ubuntu 14.04 LTS):

Apache CouchDB 1.5.1 (LogLevel=info) is starting.
Error opening log file /usr/local/var/log/couchdb/couch.log: permission denied{"init terminating in do_boot",{{badmatch,{error,{bad_return,{{couch_app,start,[normal,["/usr/local/etc/couchdb/default.ini","/usr/local/etc/couchdb/local.ini"]]},{'EXIT',{{badmatch,{error,{shutdown,{failed_to_start_child,couch_primary_services,{shutdown,{failed_to_start_child,couch_log,{error,"permission denied","/usr/local/var/log/couchdb/couch.log"}}}}}}},[{couch_server_sup,start_server,1,[{file,"couch_server_sup.erl"},{line,98}]},{application_master,start_it_old,4,[{file,"application_master.erl"},{line,269}]}]}}}}}},[{couch,start,0,[{file,"couch.erl"},{line,18}]},{init,start_it,1,[]},{init,start_em,1,[]}]}}
Crash dump was written to: erl_crash.dump
init terminating in do_boot ()

有人可以帮我解决这个问题并提出一些解决方案吗?非常感谢。

最佳答案

我想在这里记录一下我如何在我的环境中解决这个问题。就我而言,/opt/couchdb/data 文件夹是 /var/lib/couchdb 的符号链接(symbolic link)。无论我尝试什么,我都会在启动时收到权限被拒绝的错误,即使所有文件似乎都由用户 couchdb 拥有。

我最终发现 /var/lib 上没有设置“执行”权限。如果没有此许可,符号链接(symbolic link)将无法工作。如果您遇到此问题,请像我一样首先设置 chmod -R a+x/var,以防止发生这种情况。

关于CouchDB:无法正常启动CouchDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27539397/

相关文章:

Django 和 Couchdb : How to deploy without Apache server

jQuery 和 CouchDBX - _all_docs - HTTP 200 但没有数据返回到成功函数

ubuntu - 无法在 Ubuntu 14.04 上运行 NetBeans,因为它无法识别我的 java 路径

go - 无法分配内存错误

python - Apache 网络服务器和 Flask 应用程序

linux - 使用 Docker 容器从主机共享单个文件并让容器 r+w 到同一个文件

mongodb - Mongify Ubuntu 14.04 安装报错

couchdb - 需要couchdb的reduce函数说明

python - 如何使用复合键查询 couchdb View ?

java - CouchBase 与 Memcached 混合,失去了大多数 CouchDB 理念和功能?