我在ubuntu 10.04上配置并安装了couchdb 1.6.1。虽然配置和安装它说成功完成了。但是当我启动couchdb时,它会给我错误。
首先开始..
Apache CouchDB 1.6.1 (LogLevel=info) is starting.
Apache CouchDB has started. Time to relax.
**[info] [<0.32.0>] Apache CouchDB has started on http://127.0.0.1:5984/**
重新开始时
Apache CouchDB 1.6.1 (LogLevel=info) is starting.
**Failure to start Mochiweb: eaddrinuse**
[error] [<0.127.0>] {error_report,<0.31.0>,
{<0.127.0>,crash_report,[[{initial_call,
{mochiweb_socket_server,init,['Argument__1']}},
{pid,<0.127.0>},
{registered_name,[]},
{error_info,
{exit,eaddrinuse,
[{gen_server,init_it,6},
{proc_lib,init_p_do_apply,3}]}},
{ancestors,
[couch_secondary_services,couch_server_sup,
<0.32.0>]},
{messages,[]},
{links,[<0.95.0>]},
{dictionary,[]},
{trap_exit,true},
{status,running},
{heap_size,987},
{stack_size,24},
{reductions,467}],
[]]}}
{"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}},[{couch_server_sup,start_server,1},{application_master,start_it_old,4}]}}}}}},[{couch,start,0},{init,start_it,1},{init,start_em,1}]}}
Crash dump was written to: erl_crash.dump
init terminating in do_boot ()
在local.ini中的我改变了 端口到5983,并且从127.0.0.1 到ip到0.0.0.0 什么都没有帮助
当我运行sudo netstat -tulpn
时我得到以下输出
tcp 0 0 127.0.0.1:5984 0.0.0.0:* LISTEN 21688 / beam.smp
couchdb -s 表示 Apache CouchDB未运行。
提前致谢
答案 0 :(得分:2)
如果您因为最近升级CouchDB 2.0而来到这里,请确保更新了local.ini配置文件。 Web服务器配置的部分已更改(名称已从httpd
更改为chttpd
)。因此,端口指令没有被接收,它默认为80,这与Web服务器相同。
答案 1 :(得分:2)
根据提供的错误消息条目,CouchDB已经启动并且已经完成。使用端口5984在您的机器/服务器上运行
**Failure to start Mochiweb: eaddrinuse**
这就是为什么当你在基于Linux的机器上运行 sudo netstat -tulpn 命令时,你得到以下输出:
tcp 0 0 127.0.0.1:5984 0.0.0.0:* LISTEN 21688/beam.smp
解决方案:
couchdb不是您尝试使用它的方式的服务脚本。它只是试图重新启动并失败,因为一个已经在运行(erlang beam.smp进程仍在运行)。
检查&amp;使用以下命令终止所有CouchDB进程:
/bin/ps aux | grep couchdb | grep -v grep | awk '{print $2}' | xargs killl
使用root
linux user:
service couchdb start
注意:
当您输入 couchdb -s 命令时,您收到的信息如Apache CouchDB is not running.
当您输入 couchdb -d 命令时,您收到的信息如Apache CouchDB is not running.
上述输出的原因,您正在执行上述命令作为非特权Linux用户帐户。
尝试执行上述命令root
或运行linux用户帐户的couchDB。
答案 2 :(得分:0)
即使我遇到同样的问题。我刚刚做了..
br.submit()
sudo apt-get update
注意:我刚刚重新安装了couchdb,现在它工作正常。在重新安装之前我做了以下配置。
安装ICU并使用locate查找icu-config命令:
sudo apt-get install couchdb
有关详细信息,请参阅以下链接
答案 3 :(得分:0)
我面临同样的问题......
幸运的是,Couchdb错误消息文档中有一个修复程序。 https://wiki.apache.org/couchdb/Error_messages
<强>问题强>
$ couchdb
Apache CouchDB 0.9.0a747640(LogLevel = info)正在启动。
未能启动Mochiweb:eaddrinuse
{&#34; init终止于do_boot&#34;,{{badmatch,{error,shutdown}},[{couch_server_sup,start_server,1},{erl_eval,do_apply,5},{erl_eval,exprs,5},{初始化,start_it,1},{INIT,start_em,1}]}}
<强>解决方案强>
编辑/etc/couchdb/couch.ini文件并将端口设置更改为可用端口。
但是我没有couch.ini但是有default.ini。 我把它更改为另一个我认为应该是免费的端口,它可以工作
答案 4 :(得分:0)
我在ubuntu 16.04上启动couchdb时遇到此错误
在端口5984上运行erlang的原因是,运行命令“netstat -tulpn”
时会出现类似下面的内容0 0 127.0.0.1:5984 0.0.0.0:* LISTEN 13967 / beam.smp
以超级用户模式打开文件/etc/couchdb/default.ini并将httpd端口更改为可用的其他端口,您可以启动couchdb而不会失败。