阿里云使用swoole

最近要写一个websocket程序,想来想去就用了swoole这个框架。于是在自己服务器上搭建一下。搭建过程如下。


由于swoole已经作为php的一个扩展,所以你可以直接使用:

pecl install swoole

这条命令安装,最后的结果如下显示

Build process completed successfully
Installing '.../swoole.so'
install ok: ...
configuration option "php_ini" is not set to php.ini location
You should add "extension=swoole.so" to php.ini


不过要想在php中使用,你还需要添加extension=swoole.so到你的php.ini文件当中。然后重启php。如果你不知道自己的php文件位置,可以使用如下命令

php -i |grep


添加完成之后你php -m后会发现,你的php已经集成了swoole扩展。然后测试一下:

<?php
$server = new swoole_websocket_server("0.0.0.0", 2563);
$server->on('open', function($server, $req) {
    echo "connection open: {$req->fd}\n";
});
$server->on('message', function($server, $frame) {
    echo "received message: {$frame->data}\n";
    $server->push($frame->fd, json_encode(["hello", "world"]));
});
$server->on('close', function($server, $fd) {
    echo "connection close: {$fd}\n";
});
$server->start();

将以上代码保存为php文件。例如为s.php。然后在输入命令:php s.php运行起这个php。然后直接访问ip:2563就会发现能够访问。只不过显示错误。


问题:

有的说端口无法访问,没有对外网映射。实际我看了一下阿里的安全组。

QQ截图20180405204055.png

你会发现实际全部打开了。很奇葩。但是仔细看了一下授权对象:0.0.0.0。于是就把

swoole_websocket_server

第一个函数的ip就换成了0.0.0.0,结果就可以了。你也可以看一下你服务器开启的端口对应的ip。你会发现也是0.0.0.0。


阿里云使用swoole


本站如无特别说明即为原创,转而告知:(https://iwonmo.com/archives/1287.html)

标签: 阿里云, swoole, 阿里云使用swoole

添加新评论