1、workerman安装

workerman是php的一个socket框架,简化了socket编程,已经为很多企业所用,今天在centos的ngix+php下安装了workerman,过程记录如下。

官网上给的教程

但是我已经安装了php环境,所以跳过上面的1,2,3,4步骤,直接下载workerman的zip包,进行第5步安装。

进入workerman的目录进行安装如下。提示错误

[root@localhost server]# ls
mysql nginx-1.4.4 phpredis workerman
mysql-5.6.21 php redis-2.8.19
nginx php-5.5.7 redis-2.8.19.tar.gz
[root@localhost server]# cd workerman/
[root@localhost workerman]# cd workerman/
[root@localhost workerman]# ls
bin Common conf Core logs
[root@localhost workerman]# cd bin
[root@localhost bin]# ls
workermand
[root@localhost bin]# ./workermand start
Workerman is starting ...
----------------------- EXTENSION ------------------------------
* pcntl [NOT SUPORT BUT REQUIRED] You have to enable pcntl Workerman start fail

缺少扩展pcntl,这个扩展时workerman必须的,这个扩展时php包里有的,但是我在编译php的时候没有--enable-pcntl,在php的源码包里果然找到了这个扩展源码包,下面就是加入这个扩展。

加入这个扩展后,重启php-fpm,nginx,再次开启workerman

[root@localhost bin]# ./workermand start
Workerman is starting ...
----------------------- EXTENSION ------------------------------
* sysvshm [NOT SUPORT]
* sysvmsg [NOT SUPORT]
* libevent [NOT SUPORT]
------------------------ WORKERS -------------------------------
user worker listen processes status
root BusinessWorker none 32 [OK]
root Gateway tcp://0.0.0.0:8480 4 [OK]
root StatisticProvider tcp://0.0.0.0:55858 1 [OK]
root StatisticWeb tcp://0.0.0.0:55757 1 [OK]
root StatisticWorker udp://0.0.0.0:55656 1 [OK]
----------------------------------------------------------------
Workerman start success ...

workerman安装成功。

2、workerman分离

虽然workerman可以作为Webserver的替代Nginx PHP-FPM等架构,并且性能也比Nginx PHP-FPM高,但是我们不推荐这样做,因为PHP的WebServer市场上已经很成熟了,workerman不会再去做重复的事情。反而workerman把精力花在传统WebServer无法胜任的角色上,例如非HTTP协议的应用、TCP长链接应用、UDP应用、IM、游戏服务器、物联网等。

下载一个基于workerman的聊天框架https://github.com/walkor/workerman-chat,文件结构如下

从workerman的配置文件可以看到,只要将项目放在applications文件夹下都可以运行,因为workerman包含了其配置文件。

用户访问的是Web目录,如果Web目录放在这里,web服务器采取的是workerman的内置的服务器,我想将这个Web分离出来,用我的nginx服务器,workerman只是做socket的解析,如何来实现呢?其实很简单

我的机器上的lnmp可以访问的路径是/alidata/www/yii2newstest/web,我只要上面的Web目录放在这个/alidata/www/yii2newstest/web中,其他的不用做任何的更改,就可以实现访问了。

workerman安装的更多相关文章

  1. ThinkPHP5通过composer安装Workerman安装失败问题(避坑指南)

    $ composer require topthink/think-workerUsing version ^2.0 for topthink/think-worker./composer.json ...

  2. ThinkPHP5通过composer安装Workerman安装失败问题

    报错: topthink/think-worker v3.0.2 requires topthink/framework ^6 https://blog.csdn.net/Douz_lungfish/ ...

  3. workerman 安装event 扩展

    2018年7月31日10:07:47 一些小技巧 命令行直接运行PHP代码 php -r "phpinfo();" 交互模式运行PHP php -a PHP脚本作为shell脚本运 ...

  4. Workerman安装流程

    第一步检测安装环境 curl -Ss http://www.workerman.net/check.php | php 操作结果显示 报错了  需要找到php.ini文件 解决办法如下: 打开 php ...

  5. Linux系统安装workerman,启动wss 服务

    安装workerman其实很简单,只要会简单的linux口令就可以搞定, 这里我给大家演示一下如何安装workerman 进入终端的过程就不用演示了吧... 输入root及密码进入终端后找到站点根目录 ...

  6. WebSocket实战之————Workerman服务器的安装启动

    安装php apt-get install php5-cli root@iZ23b64pe35Z:/home/www# php -v PHP 5.5.9-1ubuntu4.20 (cli) (buil ...

  7. workerman使用编译安装workerman的php环境

    提示 workerman只是一个代码包,如果php环境满足要求,下载后即可使用,实际上没有安装过程. workerman对php环境的要求是: 1.php>=5.3.3,可以运行命令php-v查 ...

  8. linux下TP5安装好Workerman 报错:Class 'think\worker\Server' not found

    今天把功能放到服务器,本地测试正常,上传到服务器上报错Class 'think\worker\Server' not found 首先想到的是Windows和Linux下大小写的问题,查看了代码,并没 ...

  9. composer安装Workerman报错:Installation failed, reverting ./composer.json to its original content.

    今天想在TP5上安装workerman,实现一个后台消息提醒功能. 第一步就卡住了,根据手册里说的首先通过composer安装 $ composer require topthink/think-wo ...

随机推荐

  1. Identity-第二章

    运用Asp.Net Identity 问题 解决方案 清单号 准备用户认证的应用程序 运用Authorize注解属性来限制对动作方法的访问,并定义一个对用户重定向的控制器,以便让用户提供凭据 1–4 ...

  2. 【LeetCode】Agorithms 题集(一)

    Single Number 题目 Given an array of integers, every element appears twice except for one. Find that s ...

  3. C# - 系统类 - Math类

    Math类 ns:System 此类除了提供了最基本的运算功能 还提供了三角.指数.超常的计算 它的所有方法都是静态的 Math类的字段 E 常量e 自然对数底 值为2.71828182845905 ...

  4. shell 实例脚本

    例1: #!/bin/bashsum=0;for i in {1..100..2}do let "sum+=i"doneecho "the sum is $sum&quo ...

  5. ant来历

    看看<ant权威指南>或者ant的网站吧,里面介绍得非常详细ant的来历,目的.ant是tomcat的一个副产品,是在开发tomcat过程中,开发人员需要一个整合编译工具,因为在一个大项目 ...

  6. java查询手机号码归属地

    package com; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamRe ...

  7. 玩转Android之MVVM开发模式实战,炫酷的DataBinding!

    C# 很早就有了MVVM的开发模式,Android手机中的MVVM一直到去年Google的I\O大会上才推出,姗姗来迟.MVVM这中开发模式的优点自不必多说,可以实现视图和逻辑代码的解耦,而且,按照G ...

  8. Java基础知识强化之IO流笔记41:字符流缓冲流之复制文本文件案例02(使用 [ newLine() / readLine() ] )(重要)

    1. 使用字符流缓冲流的特殊功能 [ newLine() / readLine() ] 需求:把当前项目目录下的a.txt内容复制到当前项目目录下的b.txt中  数据源: a.txt -- 读取数据 ...

  9. asp.net分页控件库

    AspNetPager分页控件 AspNetPager分页控件解决了分页中的很多问题,直接采用该控件进行分页处理,会将繁琐的分页工作变得简单化,下面是我如何使用AspNetPager控件进行分页处理的 ...

  10. Oracle常用查询命令

    Oracle查询完整格式如下: Select  *  from XX where XX group by YY having XX order by YY Select count(*), XX fr ...