swoole学习之路(一)环境搭建

认识swoole

1、Swoole是一个PHP异步网络通信引擎,可以使用PHP语言开发高性能的异步并发TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。
2、一句话概括:php+swoole可以做异步网络通信。
3、中文社区:http://wiki.swoole.com/
4、下载地址:https://github.com/swoole/swoole-src/releases

环境搭建

1、环境准备:
centos 7、php7.3(7.2)、mysql5.7、nginx1.16(1.14).swoole:4.4.12
2、首先用宝塔快速安装 lnmp环境,搭建好好环境并且建立一个站点:swoole.xxx.com 如下:
在这里插入图片描述
3、安装swoole:
解压进入swoole:
在这里插入图片描述
使用phpize编译,由于我们使用宝塔安装,所以找到相关版本php的目录,然后编译:

/www/server/php/72/bin/phpize

然后:

./configure

会报如下错误:
在这里插入图片描述
提示没有找到php-config,所以使用下面的命令找php-config并且重新configure:

find / -name php-config
./configure --with-php-config=/www/server/php/72/bin/php-config

在这里插入图片描述在这里插入图片描述
然后:

make && make  install 

安装完成之后找到当前版本的php的php.ini,把扩展加进去,然后重启php-fpm:
在这里插入图片描述
在这里插入图片描述
重启之后使用phpinfo查看,或是命令查看如下:

php -m | grep swoole

在这里插入图片描述

测试(第一个swoole程序)

1、把如下代码写入web服务的test.php文件:

<?php
//创建Server对象,监听 127.0.0.1:9501端口
$serv = new Swoole\Server("127.0.0.1", 2538); 

//监听连接进入事件
$serv->on('Connect', function ($serv, $fd) {  
    echo "Client: Connect.\n";
});

//监听数据接收事件
$serv->on('Receive', function ($serv, $fd, $from_id, $data) {
    $serv->send($fd, "Server: ".$data);
});

//监听连接关闭事件
$serv->on('Close', function ($serv, $fd) {
    echo "Client: Close.\n";
});

//启动服务器
$serv->start(); 

然后使用 :php test.php 执行命令,这时服务端就启动了:
在这里插入图片描述
使用命令查看,端口是否被监听:
在这里插入图片描述
这时就可以使用telnet/netcat工具连接服务器:

telnet 127.0.0.1 9501
hello server
Server: hello server
发布了61 篇原创文章 · 获赞 11 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/dmguying/article/details/103330985