端口占用导致ioBroker无法启动
ioBroker默认状态下,需要使用如下几个端口
- 8081 admin端口
- 8082 web端口
- 9000 记录state的端口
- 9001 记录object的端口
如上几个端口,如果在运行ioBroker的机器上已经被其他程序占用的话,会导致ioBroker无法启动!
常见的占用端口的程序
国内玩家,最常见的占用端口的程序就是斐讯插件。
斐讯插件用9000端口和斐讯的设备进行通信,这个是设备端写死的,所以没法改变。如果你是一个斐讯用户,而且用了hass里面的斐讯的component,你很有可能会掉坑。
修改端口的方法
- 8081端口: ssh登陆到ioBroker的宿主机上,执行命令
iobroker set admin.0 --port 需要设置的端口号
- 8082端口: ssh登陆到ioBroker的宿主机上,执行命令
iobroker set web.0 --port 需要设置的端口号
- 9000端口: ssh到ioBroker的宿主机上,找到ioBroker的安装路径。比如linux在/opt/iobroker/ 如果是docker安装的话,看自己是否映射了ioBroker的安装路径。
找到路径后,打开iobroker-data/iobroker.json
文件,找到"port": 9000
的地方,修改9000为你需要设置的端口号。 - 9001端口: 和修改9000端口一样,找到9001的位置并修改即可。
做完上述修改后,重启ioBroker系统,结束。