## WebSocket服务
云帮平台中的实时日志,性能监控、web console等实时显示的功能都是通过WebSocket服务(管理节点的 goodrain_mpush 和 docker-console服务)推送到浏览器展现出来的,自动化安装程序和虚拟机镜像已经安装了该服务,由于WebSocket需要单独的开放端口,尤其是公网安装云帮时需要将WebSocket的端口对外开放,因此需要根据用户的实际网络情况配置服务地址。
**云帮平台有2个WebSocket服务**
| 服务名| 功能说明 | 端口|
|--------|-------|--------|
| 实时消息|应用实时日志,性能分析排行功能| 6060|
| 交互消息|通过web浏览器进入到容器|8188|
>[info] 说明:最新版本已经支持不同网络情况下WebSocket正常使用。
<br >
>[warning] 以下内容仅供熟悉云帮webscoket配置
### 一、实时消息的WebSocket地址
#### 1.docker-compose.yaml端口映射配置
编辑管理节点 `/etc/goodrain/docker-compose.yaml` 文件,找到`mpush`段落, 在`ports`后添加一行
~~~
ports:
- "<privite_ip>:6060:6060"
- "<public_ip>:6060:6060"
~~~
>[info] **说明**
> 如果您的机器只有内网地址,可以不用添加 `<public_ip>:6060:6060`
重建容器
~~~
dc-compose up -d
~~~
#### 2. 更改云帮web配置文件
编辑/etc/goodrain/console.py 文件,找到`WEBSOCKET_URL`, 更改为云帮的内网或者外网IP
```ymal
WEBSOCKET_URL = {
'cloudbang': 'ws://192.168.1.200:6060/websocket',
}
```
重启console容器
~~~
dc-compose restart console
~~~
### 二、更改交互消息WebSocket地址
- 修改console 配置文件
编辑/etc/goodrain/console.py 文件,找到`DOCKER_WSS_URL`, 更改为云帮的内网或者外网IP
```ymal
DOCKER_WSS_URL = {
'is_wide_domain': True,
'type': 'ws',
'cloudbang':'192.168.1.200:8188',
}
```
>[danger] 这里写的是内网IP,如果云帮是安装在远程,通过公网连接,一定要写外网IP地址。
重启console容器
~~~
dc-compose restart console
~~~
- 修改nginx配置
编辑 `/etc/goodrain/nginx/sites/webconsole`文件
```bash
...
server {
listen 120.25.244.84:8188;
server_name webconsole.goodrain.me;
...
}
```
将 `listen 192.168.1.200:8188;` 修改成你需要连接的IP
>[info] 如果云帮系统是之前某个版本,则编辑`/etc/nginx/sites-enabled/webconsole`