在生产环境服务器部署了 EMQX 之后,发现执行
./emqx start
没有任何响应。即,长时间没有返回:
EMQX 5.0.3 is started successfully!
就是卡在那里,任何输出都没有。访问 18083 端口也没有页面展示。
查看日志
查看安装目录下的 log/emqx.log.1,可以看到具体的错误日志:
2022-07-11T15:43:16.254775+08:00 [error] tcp:default failed to listen on 1883 - eaddrinuse (address already in use)
查看端口被哪个进程占用
$ sudo lsof -i:1883
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 13002 www-data 15u IPv4 195762808 0t0 TCP *:1883 (LISTEN)
nginx 13003 www-data 15u IPv4 195762808 0t0 TCP *:1883 (LISTEN)
nginx 13004 www-data 15u IPv4 195762808 0t0 TCP *:1883 (LISTEN)
nginx 13005 www-data 15u IPv4 195762808 0t0 TCP *:1883 (LISTEN)
nginx 13007 www-data 15u IPv4 195762808 0t0 TCP *:1883 (LISTEN)
nginx 13008 www-data 15u IPv4 195762808 0t0 TCP *:1883 (LISTEN)
nginx 13009 www-data 15u IPv4 195762808 0t0 TCP *:1883 (LISTEN)
nginx 13010 www-data 15u IPv4 195762808 0t0 TCP *:1883 (LISTEN)
nginx 22119 root 15u IPv4 195762808 0t0 TCP *:1883 (LISTEN)
注意需要 sudo,否则没有返回数据。
想了半天,才记起来,之前为了定位 4G 连腾讯云 MQTT 的问题 在 Nginx 上加了一层转发,所以就监听了 1883 端口。 后来问题解决后,也忘记了把端口关闭。。。
修改 Nginx 配置后,reload 就可以正常启动 EMQX 服务了。
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式