zoukankan      html  css  js  c++  java
  • workerman安装

    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中,其他的不用做任何的更改,就可以实现访问了。

  • 相关阅读:
    [JLOI2015]管道连接
    [TJOI2015]旅游
    [TJOI2015]组合数学
    [CSP-S2019] 树上的数
    [NOI2020] 超现实树
    1:关于证书服务器
    vue:实现竖向滚动条效果并实现锚点定位跳转
    修改ElementUI的样式----vue如何控制步骤条steps圆圈的大小 data-v-
    PyCharm 查看变量值
    PyCharm 单步执行单步调试不能停到断点
  • 原文地址:https://www.cnblogs.com/webclz/p/4203342.html
Copyright © 2011-2022 走看看