當(dāng)前是2臺服務(wù)器,一個做為?Register服務(wù)(該服務(wù)器同時也運行Gateway進(jìn)程和BusinessWorker進(jìn)程),Register服務(wù)的端口為1238,gatewy 端口:2346,用的nginx 映射443 用在小程序,本機IP?172.17.178.205,可以正常啟動并使用,小程序訪問一切正常
?
當(dāng)準(zhǔn)備另分布式部署時,內(nèi)網(wǎng)IP??172.17.178.206,啟動的時候,register 服務(wù)就提示
?
Register auth timeout (172.17.178.206). See http://wiki.workerman.net/Error4 for detail
?
我看這個文檔說有可能端口被占用了,但是這個 1238 端口是我隨便寫的一個
?
下面是?Register服務(wù)器的代碼
start_gateway.php
?
// gateway 進(jìn)程,這里使用Text協(xié)議,可以用telnet測試
$gateway = new Gateway("websocket://0.0.0.0:2346");
// gateway名稱,status方便查看
$gateway->name = 'vip';
// gateway進(jìn)程數(shù)
$gateway->count = 16;
// 本機ip,分布式部署時使用內(nèi)網(wǎng)ip
$gateway->lanIp = '172.17.178.205';
// 內(nèi)部通訊起始端口,假如$gateway->count=4,起始端口為4000
// 則一般會使用4000 4001 4002 4003 4個端口作為內(nèi)部通訊端口
$gateway->startPort = 2900;
// 服務(wù)注冊地址
$gateway->registerAddress = '172.17.178.205:1238';
// 心跳間隔
$gateway->pingInterval = 30;
$gateway->pingNotResponseLimit = 0;
start_register.php
?
// 自動加載類
require_once __DIR__ . '/../../vendor/autoload.php';
// register 必須是text協(xié)議
$register = new Register('text://172.17.178.205:1238');
// 如果不是在根目錄啟動,則運行runAll方法
if(!defined('GLOBAL_START'))
{
Worker::runAll();
}
?
start_businessworker.php
// 自動加載類
require_once __DIR__ . '/../../vendor/autoload.php';
// bussinessWorker 進(jìn)程
$worker = new BusinessWorker();
// worker名稱
$worker->name = 'YourAppBusinessWorker';
// bussinessWorker進(jìn)程數(shù)量
$worker->count = 4;
// 服務(wù)注冊地址
$worker->registerAddress = '172.17.178.205:1238';
// 如果不是在根目錄啟動,則運行runAll方法
if(!defined('GLOBAL_START'))
{
Worker::runAll();
}
?
以下是準(zhǔn)備分布式部署的代碼,只有2個文件,刪除了start_register.php
?
start_gateway.php
// gateway 進(jìn)程,這里使用Text協(xié)議,可以用telnet測試
$gateway = new Gateway("websocket://0.0.0.0:2346");
// gateway名稱,status方便查看
$gateway->name = 'vip';
// gateway進(jìn)程數(shù)
$gateway->count = 8;
// 本機ip,分布式部署時使用內(nèi)網(wǎng)ip
$gateway->lanIp = '172.17.178.206';
// 內(nèi)部通訊起始端口,假如$gateway->count=4,起始端口為4000
// 則一般會使用4000 4001 4002 4003 4個端口作為內(nèi)部通訊端口
$gateway->startPort = 2900;
// 服務(wù)注冊地址
$gateway->registerAddress = '172.17.178.205:1238';
// 心跳間隔
$gateway->pingInterval = 30;
$gateway->pingNotResponseLimit = 0;
start_businessworker.php
?
// bussinessWorker 進(jìn)程
$worker = new BusinessWorker();
// worker名稱
$worker->name = 'YourAppBusinessWorker';
// bussinessWorker進(jìn)程數(shù)量
$worker->count = 4;
// 服務(wù)注冊地址
$worker->registerAddress = '172.17.178.205:1238';
// 如果不是在根目錄啟動,則運行runAll方法
if(!defined('GLOBAL_START'))
{
Worker::runAll();
}
?