Skip to main content

端口占用

查看服务日志
打开运维页面http://127.0.0.1:13030
查看异常状态的服务日志(鼠标放在异常服务最右侧...处,然后点击日志按钮) serviceLog.jpg

接口服务端口被占用

bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.

日志中包含上面信息的为服务端口被占用
例如core服务端口被占用:
portUsed.jpg

中间件端口被占用

1.web服务
webPortUsed.jpg
2.etcd服务
etcdPortUsed.jpg
3.influx服务
influxPortUsed.jpg

解决方法

1.关闭占用端口的进程

1)键入'win'+'r',输入cmd,回车,打开命令行

2)查看占用服务端口的进程PID

netstat -ano | findstr 被占用的端口号

3)关闭进程

kill -9 步骤2查到的PID  

2.修改平台服务的端口

注:若占用平台服务端口的进程正在使用,不可关闭,则需要修改平台服务的端口

修改接口服务的端口

以core服务为例
1)修改接口服务配置文件,位置在 安装目录\lib\service\core\configs\config.toml
2)core服务占用了两个端口,分别为GRPC端口9223,httpserver端口59015,按照实际情况修改即可
coreCfg.jpg
3)在运维页面重启core服务
restartSvc.jpg

修改etcd服务的端口

几乎所有的接口服务都依赖etcd服务,所以如果etcd端口被占用,建议将数据备份然后将平台卸载重装。
操作步骤:
注:如果平台是刚刚安装或者不需要备份,可以跳过第2、7步
1)打开文件资源管理器,进入安装目录;
2)复制airiot文件夹到其他目录;
3)在安装目录下双击uninst.exe卸载平台;
4)双击安装包重新安装平台;
5)管理员身份打开命令行,输入'pm2 kill';
6)打开任务管理器,找到air-redis、AIR-PGSQL两个服务,右键停止;
7)将备份的airiot文件夹还原到安装目录,直接覆盖即可;
8)打开任务管理器,分别启动air-redis、AIR-PGSQL、AIR-OPERATION三个服务。

修改influx服务的端口

1.打开influx配置文件(安装目录/lib/base/influx-1.8.3-1/influx.conf),如图:
influx_port_0.jpg

2.修改8086端口为其他空闲端口,并保存配置文件

3.浏览器打开http://127.0.0.1:58080, 点击etcdkeeper,输入密码(咨询客服)

4.点击左侧airiot/config/pro.json项,修改influx的配置,如图,将8086修改为第2步相同的空闲端口: influx_port_1.jpg

5.打开运维的programs.yml文件(安装目录/lib/operation/programs.yml),修改influx服务的端口为第2步相同的空闲端口 influx_port_2.jpg

6.重启AIR-OPERATION服务 restart-operation.jpg

7.管理员身份打开cmd,输入pm2 kill
pm2_kill.jpg

8.打开任务管理器,选择服务,重启AIR-OPERATION服务
restart_operation.jpg

修改mqtt服务的端口

1.打开mqtt配置文件(安装目录/lib/base/mosquitto/mosquitto.conf),如图:
mqtt_port_2.jpg

2.修改1883端口为其他空闲端口,并保存配置文件

3.浏览器打开http://127.0.0.1:58080, 点击etcdkeeper,输入密码(咨询客服)

4.点击左侧airiot/config/pro.json项,修改mqtt的配置,如图,将1883修改为第2步相同的空闲端口: mqtt_port_1.jpg

5.打开运维的programs.yml文件(安装目录/lib/operation/programs.yml),修改mqtt服务的端口为第2步相同的空闲端口 mqtt_port_0.jpg

6.重启AIR-OPERATION服务 restart-operation.jpg

7.管理员身份打开cmd,输入pm2 kill
pm2_kill.jpg

8.打开任务管理器,选择服务,重启AIR-OPERATION服务
restart_operation.jpg

修改pgsql服务的端口

1.打开pgsql配置文件(安装目录/lib/airiot/db/postgres/pgdata/postgres.conf),如图:
pgsql_port_0.jpg

2.修改5432端口为其他空闲端口,并保存配置文件

3.浏览器打开http://127.0.0.1:58080, 点击etcdkeeper,输入密码(咨询客服)

4.点击左侧airiot/config/pro.json项,修改pgsql的配置,如图,将5432修改为第2步相同的空闲端口: pgsql_port_1.jpg

5.打开任务管理器,选择服务,重启AIR-PGSQL服务
pgsql_port_2.jpg

6.管理员身份打开cmd,输入pm2 kill
pm2_kill.jpg

7.打开任务管理器,选择服务,重启AIR-OPERATION服务
restart_operation.jpg

修改redis服务的端口

1.管理员身份打开cmd,停止并删除air-redis服务

SC STOP air-redis

SC DELETE air-redis

2.创建新的服务,启动指令修改redis端口6379为空闲端口

# 将安装目录替换为平台的安装目录,例如安装在D:/AIRIOT,则将‘安装目录’替换为D:/AIRIOT
# 将新的空闲端口替换
# 将${NEW_PASSWORD}替换为redis的实际密码,在安装目录下install.bat脚本中可以查到
"安装目录\lib\base\redis-latest\redis-server" --service-install --service-name AIR-REDIS --loglevel verbose --logfile "安装目录\airiot\db\redisdb\redis.log" --bind 127.0.0.1 --port 新的空闲端口 --requirepass ${NEW_PASSWORD} --appendonly yes

SC DESCRIPTION AIR-REDIS AIRIOT平台Redis数据库

SC START AIR-REDIS

3.浏览器打开http://127.0.0.1:58080, 点击etcdkeeper,输入密码(咨询客服)

4.点击左侧airiot/config/pro.json项,修改redis的配置,如图,将2379修改为第2步相同的空闲端口: redis_port_0.jpg

5.管理员身份打开cmd,输入pm2 kill
pm2_kill.jpg

6.打开任务管理器,选择服务,重启AIR-OPERATION服务
restart_operation.jpg

修改traefik服务的端口

traefik监听了两个端口,分别为31000和38080

1.打开traefik配置文件(安装目录/lib/base/traefik/traefik.yml),如图:
traefik_port_0.jpg

2.修改被占用的端口为其他空闲端口,并保存配置文件

3.打开运维的programs.yml文件(安装目录/lib/operation/programs.yml),修改traefik服务的端口为第2步相同的空闲端口 traefik_port_1.jpg

4.重启AIR-OPERATION服务 restart-operation.jpg

5.运维页面重启traefik服务
traefik_port_2.jpg

修改web服务的端口

1.打开web配置文件(安装目录/lib/base/nginx-1.18.0/conf/nginx.conf),如图:
web_port_0.jpg

2.修改被占用的端口为其他空闲端口,并保存配置文件

3.打开运维的programs.yml文件(安装目录/lib/operation/programs.yml),修改web服务的端口为第2步相同的空闲端口 web_port_1.jpg

4.重启AIR-OPERATION服务 restart-operation.jpg

5.运维页面重启web服务
web_port_2.jpg

修改loki服务的端口

loki服务监听两个端口,分别为3100,9095
注:若被占用的端口为9095,可以跳过第6、7、8步 1.打开loki配置文件(安装目录/lib/base/loki/local-config.yaml),如图:
loki_port_0.jpg

2.修改被占用的端口为其他空闲端口,并保存配置文件

3.打开运维的programs.yml文件(安装目录/lib/operation/programs.yml),修改loki服务的端口为第2步相同的空闲端口
loki_port_3.jpg

4.重启AIR-OPERATION服务
restart-operation.jpg

5.运维页面重启loki服务
loki_port_4.jpg

6.修改promtail配置文件(安装目录/lib/base/promtail/promtail-config.yaml)中的loki端口
loki_port_1.jpg

7.修改flow-engine配置文件(安装目录/lib/service/flow-engine/configs/config.yaml)中的loki端口
loki_port_5.jpg

8.运维页面重启flow-enigne,promtail服务
restart_flow-engine.jpg promtail_port_1.jpg

修改syslogloki服务的端口

syslogloki服务监听两个端口,分别为3101,49095
注:若被占用的端口为49095,可以跳过第6、7、8步 1.打开loki配置文件(安装目录/lib/base/syslogloki/local-config.yaml),如图:
sysloki_port_0.jpg

2.修改被占用的端口为其他空闲端口,并保存配置文件

3.打开运维的programs.yml文件(安装目录/lib/operation/programs.yml),修改syslogloki服务的端口为第2步相同的空闲端口
sysloki_port_3.jpg

4.重启AIR-OPERATION服务
restart-operation.jpg

5.运维页面重启syslogloki服务
sysloki_port_4.jpg

6.修改syslogpromtail配置文件(安装目录/lib/base/syslogpromtail/promtail-config.yaml)中的syslogloki端口
sysloki_port_1.jpg

7.修改syslog配置文件(安装目录/lib/service/syslog/configs/config.yaml)中的syslogloki端口
sysloki_port_2.jpg

8.运维页面重启syslog,syslogpromtail服务
sysloki_port_5.jpg sysprom_port_2.jpg

修改promtail服务的端口

1.打开promtail配置文件(安装目录/lib/base/promtail/promtail-config.yaml),如图:
promtail_port_0.jpg

2.修改被占用的端口为其他空闲端口,并保存配置文件

3.打开运维的programs.yml文件(安装目录/lib/operation/programs.yml),修改promtail服务的端口为第2步相同的空闲端口
promtail_port_2.jpg

4.重启AIR-OPERATION服务
restart-operation.jpg

5.运维页面重启promtail服务
promtail_port_1.jpg

修改syslogpromtail服务的端口

1.打开syslogpromtail配置文件(安装目录/lib/base/syslogpromtail/promtail-config.yaml),如图:
promtail_port_0.jpg

2.修改被占用的端口为其他空闲端口,并保存配置文件

3.打开运维的programs.yml文件(安装目录/lib/operation/programs.yml),修改syslogpromtail服务的端口为第2步相同的空闲端口
sysprom_port_1.jpg

4.重启AIR-OPERATION服务
restart-operation.jpg

5.运维页面重启syslogpromtail服务
sysprom_port_2.jpg