MAC OS X 优胜美地上 ejabberd 15.0.4 上的 mod_rest 未启动

Posted

技术标签:

【中文标题】MAC OS X 优胜美地上 ejabberd 15.0.4 上的 mod_rest 未启动【英文标题】:mod_rest on ejabberd 15.0.4 on MAC OS X yosemite is not starting 【发布时间】:2015-09-09 10:32:07 【问题描述】:

我一直在尝试在我的 ejabberd(ver 15.0.4) 服务器中配置 mod_rest 以将其与 http 服务器 (XAMPP) 连接,但在编译和设置所有内容后它无法启动并生成崩溃报告。

mod_rest.erl 下载自: https://github.com/processone/ejabberd-contrib/tree/master/mod_rest

crash.log

2015-06-23 19:41:44 =CRASH REPORT====
  crasher:
    initial call: ejabberd_http:init/2
    pid: <0.455.0>
    registered_name: []
    exception throw: module_must_be_started_in_vhost,mod_rest,<<"localhost">>,[mod_rest,try_get_option,3,[file,"mod_rest.erl",line,107],mod_rest,check_member_option,3,[file,"mod_rest.erl",line,122],mod_rest,process,2,[file,"mod_rest.erl",line,51],ejabberd_http,process,5,[file,"src/ejabberd_http.erl",line,365],ejabberd_http,process_request,1,[file,"src/ejabberd_http.erl",line,449],ejabberd_http,process_header,2,[file,"src/ejabberd_http.erl",line,287],ejabberd_http,parse_headers,1,[file,"src/ejabberd_http.erl",line,203],proc_lib,init_p_do_apply,3,[file,"proc_lib.erl",line,237]]
    ancestors: [ejabberd_http_sup,ejabberd_sup,<0.37.0>]
    messages: []
    links: [<0.329.0>,#Port<0.3837>]
    dictionary: []
    trap_exit: false
    status: running
    heap_size: 1598
    stack_size: 27
    reductions: 839
  neighbours:
2015-06-23 19:41:44 =SUPERVISOR REPORT====
     Supervisor: local,ejabberd_http_sup
     Context:    child_terminated
     Reason:     module_must_be_started_in_vhost,mod_rest,<<"localhost">>
     Offender:   [pid,<0.455.0>,name,undefined,mfargs,ejabberd_http,start_link,undefined,restart_type,temporary,shutdown,1000,child_type,worker]

error.log

2015-06-23 19:41:44.554 [error] <0.455.0> CRASH REPORT Process <0.455.0> with 0 neighbours crashed with reason: module_must_be_started_in_vhost,mod_rest,<<"localhost">> in mod_rest:try_get_option/3 line 107
2015-06-23 19:41:44.554 [error] <0.329.0> Supervisor ejabberd_http_sup had child undefined started with ejabberd_http,start_link,undefined at <0.455.0> exit with reason module_must_be_started_in_vhost,mod_rest,<<"localhost">> in context child_terminated

ejabberd.log

2015-06-23 19:40:41.941 [info] <0.7.0> Application lager started on node ejabberd@localhost
2015-06-23 19:40:41.958 [info] <0.7.0> Application crypto started on node ejabberd@localhost
2015-06-23 19:40:41.987 [info] <0.7.0> Application sasl started on node ejabberd@localhost
2015-06-23 19:40:41.996 [info] <0.7.0> Application asn1 started on node ejabberd@localhost
2015-06-23 19:40:41.996 [info] <0.7.0> Application public_key started on node ejabberd@localhost
2015-06-23 19:40:42.051 [info] <0.7.0> Application ssl started on node ejabberd@localhost
2015-06-23 19:40:42.071 [info] <0.7.0> Application p1_yaml started on node ejabberd@localhost
2015-06-23 19:40:42.084 [info] <0.7.0> Application p1_tls started on node ejabberd@localhost
2015-06-23 19:40:42.097 [info] <0.7.0> Application p1_xml started on node ejabberd@localhost
2015-06-23 19:40:42.124 [info] <0.7.0> Application p1_stringprep started on node ejabberd@localhost
2015-06-23 19:40:42.150 [info] <0.7.0> Application p1_zlib started on node ejabberd@localhost
2015-06-23 19:40:42.161 [info] <0.7.0> Application p1_cache_tab started on node ejabberd@localhost
2015-06-23 19:40:42.843 [info] <0.7.0> Application mnesia started on node ejabberd@localhost
2015-06-23 19:40:44.575 [info] <0.37.0>@cyrsasl_digest:start:57 FQDN used to check DIGEST-MD5 SASL authentication: my.msserver.com
2015-06-23 19:40:44.729 [info] <0.7.0> Application inets started on node ejabberd@localhost
2015-06-23 19:40:44.811 [info] <0.447.0>@ejabberd_listener:listen_tcp:194 Reusing listening port for 5285
2015-06-23 19:40:44.811 [info] <0.448.0>@ejabberd_listener:listen_tcp:194 Reusing listening port for 5222
2015-06-23 19:40:44.811 [info] <0.449.0>@ejabberd_listener:listen_tcp:194 Reusing listening port for 5269
2015-06-23 19:40:44.812 [info] <0.450.0>@ejabberd_listener:listen_tcp:194 Reusing listening port for 5280
2015-06-23 19:40:44.812 [info] <0.37.0>@ejabberd_app:start:71 ejabberd 15.04 is started in the node ejabberd@localhost
2015-06-23 19:40:44.812 [info] <0.7.0> Application ejabberd started on node ejabberd@localhost
2015-06-23 19:40:48.306 [info] <0.450.0>@ejabberd_listener:accept:304 (#Port<0.3810>) Accepted connection 127.0.0.1:54407 -> 127.0.0.1:5280
2015-06-23 19:40:48.322 [info] <0.454.0>@ejabberd_http:init:155 started: gen_tcp,#Port<0.3810>
2015-06-23 19:41:44.553 [info] <0.447.0>@ejabberd_listener:accept:304 (#Port<0.3837>) Accepted connection 127.0.0.1:54436 -> 127.0.0.1:5285
2015-06-23 19:41:44.553 [info] <0.455.0>@ejabberd_http:init:155 started: gen_tcp,#Port<0.3837>
2015-06-23 19:41:44.554 [error] <0.455.0> CRASH REPORT Process <0.455.0> with 0 neighbours crashed with reason: module_must_be_started_in_vhost,mod_rest,<<"localhost">> in mod_rest:try_get_option/3 line 107
2015-06-23 19:41:44.554 [error] <0.329.0> Supervisor ejabberd_http_sup had child undefined started with ejabberd_http,start_link,undefined at <0.455.0> exit with reason module_must_be_started_in_vhost,mod_rest,<<"localhost">> in context child_terminated

yml 中使用的配置设置:

 mod_rest: []
 - 
    port: 5285
    module: ejabberd_http
    request_handlers:
       "/rest": mod_rest

【问题讨论】:

【参考方案1】:

我认为这意味着您也应该从模块部分启动模块。

【讨论】:

以上是关于MAC OS X 优胜美地上 ejabberd 15.0.4 上的 mod_rest 未启动的主要内容,如果未能解决你的问题,请参考以下文章

无法在优胜美地上启动 ios-sim

Genymotion 错误:优胜美地上的“无法加载 VirtualBox 引擎”。已安装 VirtualBox

Mac OS X 上的单声道调整终端大小

mac os x yosemite下如何编译milton?

获取在 mac OS X Yosemite 上运行的 localhost

在 Mac OS X Yosemite/El Capitan 上自动启动 MySQL 服务器