windows server 服务部署后无法访问

环境

  • EMQX 版本: emqx 5.1.1-windows-amd64
  • 操作系统版本:windows server2019

重现此问题的步骤

  1. emqx install 安装成系统服务
  2. 手动启动安装后的服务,配置防火墙端口放行
  3. 无法正常访问18083,直接在服务器上也无法连接

预期行为

通过服务部署能够正常使用

实际行为

2023-07-25T11:29:32.423000+08:00 [warning] msg: failed_to_resolve_env_variable, mfa: emqx_schema:naive_env_interpolation/1, line: 3228, env: {EMQX_LOG_DIR}, original: ${EMQX_LOG_DIR}/emqx.log
2023-07-25T11:29:32.587000+08:00 [warning] msg: failed_to_resolve_env_variable, mfa: emqx_schema:naive_env_interpolation/1, line: 3228, env: {EMQX_ETC_DIR}, original: ${EMQX_ETC_DIR}/acl.conf
2023-07-25T11:29:32.589000+08:00 [alert] msg: failed_to_read_acl_file, mfa: emqx_authz_file:validate/1, line: 54, explain: No such file or directory, path: ${EMQX_ETC_DIR}/acl.conf
2023-07-25T11:29:32.591000+08:00 [warning] msg: failed_to_resolve_env_variable, mfa: emqx_schema:naive_env_interpolation/1, line: 3228, env: {EMQX_LOG_DIR}, original: ${EMQX_LOG_DIR}/emqx.log
2023-07-25T11:29:32.628000+08:00 [error] crasher: initial call: application_master:init/4, pid: <0.437.0>, registered_name: [], exit: {{bad_return,{{emqx_conf_app,start,[normal,[]]},{‘EXIT’,{{case_clause,undefined},[{emqx_config_logger,tr_console_handler,1,[{file,“emqx_config_logger.erl”},{line,129}]},{emqx_config_logger,tr_handlers,1,[{file,“emqx_config_logger.erl”},{line,124}]},{emqx_config_logger,do_refresh_config,1,[{file,“emqx_config_logger.erl”},{line,48}]},{emqx_conf_app,start,2,[{file,“emqx_conf_app.erl”},{line,42}]},{application_master,start_it_old,4,[{file,“application_master.erl”},{line,293}]}]}}}},[{application_master,init,4,[{file,“application_master.erl”},{line,142}]},{proc_lib,init_p_do_apply,3,[{file,“proc_lib.erl”},{line,240}]}]}, ancestors: [<0.436.0>], message_queue_len: 1, messages: [{‘EXIT’,<0.438.0>,normal}], links: [<0.436.0>,<0.44.0>], dictionary: [], trap_exit: true, status: running, heap_size: 610, stack_size: 28, reductions: 196; neighbours:

看日志是没有起来的,在 cmd 或 powershell 中用 emqx console 命令启动可以验证。
推荐使用 docker 或在 linux 上运行 EMQX 服务。

我跟你遇到同样的错误,直接 emqx start是没问题的。

emqx start是没问题的,自己用C#写了个服务管理,启动服务时调用 emqx start,曲线救国了。

试试看更换emqx版本,测试降到5.0好像就可以了