利用WorkMan搭建服务器,通过外网无法访问

misaka9982

利用WORKMAN创建了一个服务器后

<?php
use Workerman\Worker;
require_once './Workerman/Autoloader.php';

// 创建一个Worker监听2346端口,使用websocket协议通讯
$ws_worker = new Worker("http://0.0.0.0:3307");

// 启动4个进程对外提供服务
$ws_worker->count = 4;

// 当收到客户端发来的数据后返回hello $data给客户端
$ws_worker->onMessage = function($connection, $data)
{
    // 向客户端发送hello $data
    $connection->send('hello ' . $data);
};
// 运行
Worker::runAll();
?>

通过php * -start启动后,在另外一台电脑上通过服务器的"外网IP:3307"(假设)无法访问,curl http://外网IP:3307也不行(在本机可以),试问下问题出在了哪里

阅读 3537
1个回答

walkor

很明显,服务器防火墙挡住了。参考手册常见问题一章

  • misaka9982 2016-03-16

    iptables确实的放行了此端口

  • walkor 2016-03-16

    关闭防火墙试下

  • misaka9982 2016-03-16

    @1:试了,木有用,CENTOS6.5的系统

  • walkor 2016-03-16

    可能ip不对,在你的服务器上运行ip addr,看下外网ip和你访问的ip是一致的不?
    本机可以,外网不行,那应该是网络配置问题了,这个得找你们运维看看了。

  • misaka9982 2016-03-17

    @1:解决了,我用的ucloud,忘了在虚拟主机的防火墙那边放行了,3q~~