1、根据文档如下
/**
*====这个步骤是必须的====
*这里填写Register服务的ip(通常是运行GatewayWorker的服务器ip,非0.0.0.0)和Register端口
*注意Register服务端口在start_register.php中可以找到
*这里假设GatewayClient和Register服务都在一台服务器上,ip填写127.0.0.1
**/
Gateway::$registerAddress = '127.0.0.1:1236';
这里的registerAddress 我改成Gateway::$registerAddress = 'B服务器IP:1236';
同时将B服务器的gateway.php的lnip改成B内网IP,发现GatewayClient获取不到数据
2、接着我将步骤一中B服务器的gateway.php的lnip改成B公网IP,启动gatewayworker失败,不停显示Warning: stream_socket_server(): unable to connect to tcp://**B公网IP**:1236 (Cannot assign requested address)
3、我怀疑是gateway->startPort的端口被墙了,我又去阿里云把那几个端口打开,步骤一步骤二还是原来的效果。。。。。。
4、本地虚拟机同台机器可以。
补充:lnIP写公网IP就会无限报通讯端口无法连接
我现在需要阿里云的经典网络跟专有网络分布式部署,这么你是怎么弄的?
补充:
我A服务器调用GatewayClient根据文档是这样的
Gateway::$registerAddress = B服务器公网IP:端口';
1、GatewayClient要和gatewayWorker版本对应,否则无法通讯。
2、A B服务器都在内网的话 lanip写内网ip即可。
解决了,是阿里云专有网络问题
专有网络不能分布式部署吗?
专有网络可以分布式,但是lanip不能设置成公网ip