emq 监听1024以下的端口

房东的猫 提交于 2019-12-07 17:42:52
  1. 应用程序监听1024以下的端口

我们自己编写的应用程序监听服务端端口号。普通用户只能访问1024以上端口; 当需要使用1024及以下的端口号时,需要应用程序获取root用户权限,操作方法如下(假设我们编写的应用程序名称为 myproc):

chown root:root myproc
chmod u+s myproc
  1. 更改systemctl 是emqx以root用户启动无效
vim /usr/lib/systemd/system/emqx.service

[Unit]
Description=emqx daemon
After=network.target

[Service]
User=emqx
Group=emqx
Type=forking
Environment=HOME=/var/lib/emqx
ExecStart=/bin/sh /usr/bin/emqx start
LimitNOFILE=1048576
ExecStop=/bin/sh /usr/bin/emqx stop

[Install]
WantedBy=multi-user.target

之后发现emqx是个脚本文件不是二进制文件,文件中已经指定了启动用户,所以如果更改启动用户的话需要改这个脚本文件 vim /usr/bin/emqx

  1. emq默认是以emqx用户运行的,在命令行启动emqx start 之后日志里报错如下

如下修改完emqx 权限之后无效(因为emqx是文件,如前所述)

chown root:root emqx
chmod u+s emqx

查看emqx 正常启动后的进程后,发现启动文件是这个/usr/lib/emqx/erts-10.3.5.1/bin/beam.smp

chmod u+s beam.smp

修改完之后权限如下,可以正常启动。

  1. 参考:https://blog.csdn.net/weixin_43050332/article/details/89420007
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!