安装php

apt-get install php5-cli
root@iZ23b64pe35Z:/home/www# php -v
PHP 5.5.9-1ubuntu4.20 (cli) (built: Oct 3 2016 13:00:37)

检查pcntl、posix扩展(已经安装成功)

root@iZ23b64pe35Z:/home/www# php -m | grep pcntl
pcntl
root@iZ23b64pe35Z:/home/www# php -m | grep posix
posix

安装git

apt-get install git

下载 workerman-todpole

git clone https://github.com/walkor/workerman-todpole.git

缺少官方依赖包,直接启动发现会报错:

root@iZ23b64pe35Z:/home/www# cd workerman-todpole/
root@iZ23b64pe35Z:/home/www/workerman-todpole# ls
Applications composer.json MIT-LICENSE.txt README.md start.php
root@iZ23b64pe35Z:/home/www/workerman-todpole# php start.php start
PHP Warning: require_once(/home/www/workerman-todpole/vendor/autoload.php): failed to open stream:
No such file or directory in /home/www/workerman-todpole/start.php on line 29

安装:Composer 是 PHP 的一个依赖管理工具(全局安装)

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

注意: 如果上诉命令因为权限执行失败, 请使用 sudo 再次尝试运行 mv 那行命令。

现在只需要运行 composer 命令就可以使用 Composer 而不需要输入 php composer.phar

vendor目录是依赖库的目录,这些其实都是可以通过一个命令来得到的,只要你提供composer.json文件,那么你将这个项目git clone下来之后,直接:

composer install

就可以得到相应的依赖库了。

再次启动workerman

root@iZ23uv7rgv9Z:/home/www/workerman-todpole# ls
Applications composer.json composer.lock MIT-LICENSE.txt README.md start.php vendor

启动正常

root@iZ23uv7rgv9Z:/home/www/workerman-todpole# php start.php start
Workerman[start.php] start in DEBUG mode
----------------------- WORKERMAN -----------------------------
Workerman version:3.3.6 PHP version:5.5.9-1ubuntu4.20
------------------------ WORKERS -------------------------------
user worker listen processes status
root TodpoleBusinessWorker none 4 [OK]
root TodpoleGateway websocket://0.0.0.0:8282 4 [OK]
root Register text://0.0.0.0:1237 1 [OK]
root WebServer http://0.0.0.0:8383 2 [OK]
----------------------------------------------------------------
Press Ctrl-C to quit. Start success.

查看本机的IP地址:

ip addr

再次启动workerman,在浏览器地址输入

http://本机IP地址:8383/

测试结果:

成功安装!

状态详解

root@iZ23uv7rgv9Z:/home/www/workerman-todpole# php start.php status
Workerman[start.php] status
---------------------------------------GLOBAL STATUS--------------------------------------------
Workerman version:3.3.6 PHP version:5.5.9-1ubuntu4.20
start time:2016-12-22 22:53:51 run 0 days 0 hours
load average: 0, 0.01, 0.05 event-loop:select(libevent扩展(或者event扩展)使得PHP可以使用系统Epoll、Kqueue等高级事件处理机制,能够显著提高WorkerMan在高并发连接时CPU利用率。在高并发长连接相关应用中非常重要。libevent扩展(或者event扩展)不是必须的,如果没安装,则默认使用PHP原生Select事件处理机制。)
4 workers 11 processes
worker_name exit_status exit_count
TodpoleBusinessWorker 0 0
TodpoleGateway 0 0
Register 0 0
WebServer 0 0
---------------------------------------PROCESS STATUS-------------------------------------------
pid memory listening worker_name connections total_request send_fail throw_exception
4190 1.25M http://0.0.0.0:8383 WebServer 0 0 0 0
4191 1.25M http://0.0.0.0:8383 WebServer 0 0 0 0
4189 1.5M text://0.0.0.0:1237 Register 8 8 0 0
4185 1.5M websocket://0.0.0.0:8282 TodpoleGateway 5 4 0 0
4186 1.5M websocket://0.0.0.0:8282 TodpoleGateway 5 4 0 0
4187 1.5M websocket://0.0.0.0:8282 TodpoleGateway 5 4 0 0
4188 1.5M websocket://0.0.0.0:8282 TodpoleGateway 5 4 0 0
4181 1.75M none TodpoleBusinessWorker 5 3 0 0
4183 1.75M none TodpoleBusinessWorker 5 1 0 0
4182 1.75M none TodpoleBusinessWorker 5 1 0 0
4184 1.75M none TodpoleBusinessWorker 5 1 0 0
root@iZ23uv7rgv9Z:/home/www/workerman-todpole#

红色为对应的4个worker

黄色为每个worker退出的次数和状态

例如执行一个:php start.php reload (reload命令的话)

TodpoleBusinessWorker 会退出,(启动的时候会直接去连接TodpoleGateway内部端口,会建立起通讯的,不会监听端口的)

TodpoleGateway(维持客户端连接,如果退出就会和客户端断开的,会监听端口的)是不会退出的

WebServer 有两个进程也会退出两次

Register(维持TodpoleBusinessWorker 和TodpoleGateway之间进行通信的)内部服务,没有任何逻辑,所以也不会退出的

total_request 多少个请求

WebSocket实战之————Workerman服务器的安装启动的更多相关文章

  1. nginx入门与实战 安装 启动 配置nginx Nginx状态信息(status)配置 正向代理 反向代理 nginx语法之location详解

    nginx入门与实战 网站服务 想必我们大多数人都是通过访问网站而开始接触互联网的吧.我们平时访问的网站服务 就是 Web 网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务. Web ...

  2. 在Mac上关于tomcat服务器的安装、配置、启动、部署web详细流程

    之前在Mac上通过安装mamp来搭建PHP环境服务器,但是对于java来说,目前还是没有找到类似mamp这样强大的软件来构建及管理java环境服务器,所以目前也是通过命令行来进行tomcat服务器的安 ...

  3. 在阿里云服务器上安装完成并启动Tomcat后,通过http不能访问--解决办法

    在阿里云服务器上安装完成并启动Tomcat后,通过http不能访问的原因是阿里云平台为了安全设置了安全组策略,必须我们授权的端口,其他计算机才能通过http访问 解决办法:(这里以阿里轻量应用服务器为 ...

  4. Linux运维实战之DNS(bind)服务器的安装与配置

    转自http://sweetpotato.blog.51cto.com/533893/1598225 上次博文我们讨论了DNS的基础,本次博文我们重点来看看如何配置一台DNS服务器. [本次博文的主要 ...

  5. Koa与Node.js开发实战(1)——Koa安装搭建(视频演示)

    学习架构: 由于Koa2已经支持ES6及更高版本,包括支持async方法,所以请读者保证Node.js版本在7.6.0以上.如果需要在低于7.6的版本中应用Koa的async方法,建议使用Babel ...

  6. 使用 WebSocket 客户端连接 MQTT 服务器

    简介 近年来随着 Web 前端的快速发展,浏览器新特性层出不穷,越来越多的应用可以在浏览器端或通过浏览器渲染引擎实现,Web 应用的即时通信方式 WebSocket 得到了广泛的应用. WebSock ...

  7. Tomcat系列之服务器的安装与配置以及各组件详解

    Tomcat系列之服务器的安装与配置以及各组件详解 大纲 一.前言 二.安装与配置Tomcat 三.Tomcat 目录的结构 四.Tomcat 配置文件 注,本文的测试的操作系统为CentOS 6.4 ...

  8. CentOS 6.3下Samba服务器的安装与配置方法(图文详解)

    这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下   一.简介  Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...

  9. 如何在一台服务器上安装两个mysql或者更多

    如何在一台服务器上安装两个mysql 1       前言 上篇写了在一台机器上源码编译安装一个mysql,那么如何在一台机器上源码编译安装两个mysql或者更多呢? 2       环境 mysql ...

随机推荐

  1. vim正则表达式(转)

    Vim中的正则表达式功能很强大,如果能自由运用,则可以完成很多难以想象的操作. 如果你比较熟悉Perl的正规表达式,可以直接参照与Perl正则表达式的区别一节. 一.使用正则表达式的命令 使用正则表达 ...

  2. JS-页面操作

    --刷新页面 window.location.reload();

  3. INSTRUCTION EXECUTION CHARACTERISTICS

    Characteristics of Some CISCs, RISCs, and Superscalar Processors One of the most visible forms of ev ...

  4. MongoShell中的一些命令总结

    mongo 127.0.0.1 可以连接到本地的mongo数据库并进入shell exit可以退出shell show dbs 可以查看当前数据库中所有的数据库名称 use [数据库名称] 可以进入指 ...

  5. redis 自启动

    第一步: 在/etc/init.d/目录下建立一个名字为 redis 的启动脚本 cd /etc/init.d touch redis 然后在这个脚本中添加如下脚本  <注意修改自己的PIDFI ...

  6. C/C++面试

    1. RTTL 运行时类别识别,在只有一个指向基类的指针或引用时确定一个对象的准确类型. 2.什么是拷贝构造函数 是单个形参的构造函数,实参是与该类同属一类的对象:在类定义中,如果未提供自己的拷贝构造 ...

  7. Intelligencia.UrlRewriter在IIS 7.0下的完全配置攻略

    在项目中,之前公司是使用IIS 7.0官方的URL重写模块,官方的使用说明请参见官方URLRewrite  ,添加伪静态支持,后来经理问我有没有涉及伪静态,我说之前项目中我一直是用Intelligen ...

  8. SSD果然劲爆!

    前两周入手了一块浦科特128G盘,不说多了,有图为证 以前把机械盘放在主硬盘位的时候,鲁大师显示是SATA II接口,现在把SSD放在主硬盘位,显示居然是SATA III接口了,看上面测试,确实是II ...

  9. 创建XMLHttpRequest对象方法

    ~~~ //创建XMLHttpRequest对象 function creatXmlHttpRequest() { var xmlHttp; try{ //非IE浏览器使用 xmlHttp = new ...

  10. 关于SQL Server无法查询中文的问题

    SQL Server 的版本是2016,随便试了一条 带有 where 子句的查询.如下: select * from Roles where RoleName like '%系统%' 呐尼,怎么一条 ...