- 应用程序监听1024以下的端口
我们自己编写的应用程序监听服务端端口号。普通用户只能访问1024以上端口; 当需要使用1024及以下的端口号时,需要应用程序获取root用户权限,操作方法如下(假设我们编写的应用程序名称为 myproc):
chown root:root myproc
chmod u+s myproc
- 更改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
- 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
修改完之后权限如下,可以正常启动。
来源:oschina
链接:https://my.oschina.net/u/4131409/blog/3099401