【问题标题】:CouchDB: Unable to start CouchDB normallyCouchDB:无法正常启动 CouchDB
【发布时间】:2014-12-18 04:45:10
【问题描述】:

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

谁能帮我解决这个问题并提出一些解决方案来解决它?非常感谢。

【问题讨论】:

    标签: couchdb ubuntu-14.04


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

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

          【讨论】:

            【解决方案5】:

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

            sudo couchdb 停止

            sudo couchdb 启动

            【讨论】:

            • 不要这样做!!这将弄乱您的所有权限,并且您将永远无法在没有 root 权限的情况下再次运行 couchdb(除非您完全重新安装 couchdb)请改用“couchdb”用户
            猜你喜欢
            • 1970-01-01
            • 2015-07-25
            • 1970-01-01
            • 2019-03-01
            • 2015-06-18
            • 2017-10-21
            • 2020-01-03
            • 1970-01-01
            • 2011-08-29
            相关资源
            最近更新 更多