CouchDB:无法正常启动CouchDB

时间:2014-12-18 04:45:11

标签: 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

我完全按照指南,除了第4和第5步因为我不知道该怎么做。我跑的时候:

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 ()

愿任何人帮我解决这个问题,并建议一些解决方案来解决它吗?非常感谢你。

5 个答案:

答案 0 :(得分:1)

您可能需要以couchdb用户couchdb启动su couchdb -c ./couchdb进程(假设当前目录包含可执行文件) - 仔细检查su命令您系统的选项。

另外,请检查/usr/local/var/log/couchdb/couch.log上的权限 - 确保couchdb用户可以写入。

答案 1 :(得分:0)

虽然在CentOS上,"问题"使用service couchdb [start|status|stop|restart]避免使用。

答案 2 :(得分:0)

我想在此说明如何在我的环境中解决此问题。就我而言,/opt/couchdb/data文件夹是/var/lib/couchdb的符号链接。不管我尝试什么,即使所有文件似乎都由用户couchdb拥有,启动时也会出现权限拒绝错误。

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

答案 3 :(得分:0)

https://medium.com/@tomiwatech_45998/installing-couchdb-on-ubuntu-17-10-18148e2eb846

你好, 这帮助我解决了问题并解决了问题。我的ubuntu版本是16.04,我下载了couchdb-1.7.0版本。

答案 4 :(得分:-1)

您可以使用以下命令启动couchdb

sudo couchdb stop

sudo couchdb start