Linux系统安装workerman,启动wss 服务
安装workerman其实很简单,只要会简单的linux口令就可以搞定,
这里我给大家演示一下如何安装workerman 进入终端的过程就不用演示了吧...
输入root及密码进入终端后找到站点根目录 先使用官方自带的脚本测试下服务器的PHP环境是否满足WorkerMan允许要求
curl -Ss http://www.workerman.net/check.php | php
如图所示,本机的posix扩展没有安装,那我们使用以下命令进行安装pcntl和posix扩展。
yum install php-process
扩展安装完成后,再次检测PHP环境,显示一切正常。
官方提示为了支持更大的并发连接数,建议安装event扩展或者libevent扩展(二者作用相同,二选一即可),我们进行libevent扩展安装如下
扩展安装成功后,一切准备就绪,通过wget口令下载WorkerMan源码包
wget http://www.workerman.net/download/workermanzip
下载完成后就可以看到下图中的workermanzip包,执行 unzip 进行解压
解压成功,将Workerman-master 重命名 如图
mv Workerman-master Workerman
创建test.php文件代码如下
<?php
use Workerman\Worker;
require_once __DIR__ . '/Workerman/Autoloader.php';
// 创建一个Worker监听2345端口,使用http协议通讯
$http_worker = new Worker("http://0.0.0.0:2345");
// 启动4个进程对外提供服务
$http_worker->count = 4;
// 接收到浏览器发送的数据时回复hello world给浏览器
$http_worker->onMessage = function($connection, $data)
{
// 向浏览器发送hello world
$connection->send('hello world');
};
Worker::runAll();
执行 php test.php start 看到如下图表示workerman安装成功叻...
...
用守护进程模式启动可以后台运行 workerman 任务:
php start.php start -d (-d 守护模式启动)
报错可能原因:
php加载sockets 和libevent模块的顺序导致
解决方法:
vim /etc/php.d/libevent.ini
注释掉:extension = libevent.so
vim /etc/php.d/sockets.ini
注释掉:extentsion = sockets.so
然后在php.ini中添加这两个扩展的引用
vim /etc/php.ini
extension = sockets.so
extension = libevent.so
将上面内容添加到php.ini中,注意添加顺序。