WebSocket实战之————Workerman服务器的安装启动
安装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服务器的安装启动的更多相关文章
- nginx入门与实战 安装 启动 配置nginx Nginx状态信息(status)配置 正向代理 反向代理 nginx语法之location详解
nginx入门与实战 网站服务 想必我们大多数人都是通过访问网站而开始接触互联网的吧.我们平时访问的网站服务 就是 Web 网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务. Web ...
- 在Mac上关于tomcat服务器的安装、配置、启动、部署web详细流程
之前在Mac上通过安装mamp来搭建PHP环境服务器,但是对于java来说,目前还是没有找到类似mamp这样强大的软件来构建及管理java环境服务器,所以目前也是通过命令行来进行tomcat服务器的安 ...
- 在阿里云服务器上安装完成并启动Tomcat后,通过http不能访问--解决办法
在阿里云服务器上安装完成并启动Tomcat后,通过http不能访问的原因是阿里云平台为了安全设置了安全组策略,必须我们授权的端口,其他计算机才能通过http访问 解决办法:(这里以阿里轻量应用服务器为 ...
- Linux运维实战之DNS(bind)服务器的安装与配置
转自http://sweetpotato.blog.51cto.com/533893/1598225 上次博文我们讨论了DNS的基础,本次博文我们重点来看看如何配置一台DNS服务器. [本次博文的主要 ...
- Koa与Node.js开发实战(1)——Koa安装搭建(视频演示)
学习架构: 由于Koa2已经支持ES6及更高版本,包括支持async方法,所以请读者保证Node.js版本在7.6.0以上.如果需要在低于7.6的版本中应用Koa的async方法,建议使用Babel ...
- 使用 WebSocket 客户端连接 MQTT 服务器
简介 近年来随着 Web 前端的快速发展,浏览器新特性层出不穷,越来越多的应用可以在浏览器端或通过浏览器渲染引擎实现,Web 应用的即时通信方式 WebSocket 得到了广泛的应用. WebSock ...
- Tomcat系列之服务器的安装与配置以及各组件详解
Tomcat系列之服务器的安装与配置以及各组件详解 大纲 一.前言 二.安装与配置Tomcat 三.Tomcat 目录的结构 四.Tomcat 配置文件 注,本文的测试的操作系统为CentOS 6.4 ...
- CentOS 6.3下Samba服务器的安装与配置方法(图文详解)
这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下 一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...
- 如何在一台服务器上安装两个mysql或者更多
如何在一台服务器上安装两个mysql 1 前言 上篇写了在一台机器上源码编译安装一个mysql,那么如何在一台机器上源码编译安装两个mysql或者更多呢? 2 环境 mysql ...
随机推荐
- do put in ruby
apikey: XO.apikeys.cms, data: { favoriteItems: [{ UserId: SaveToFavoriteVar.content.FavoriteItem.Use ...
- [daily][archlinux][fonts] 在linux下管理字体
序: linux是社区搞出来, 商业应用也都是服务器场景.社区里又都是技术人员.字体又是细节.而且会英文早成了标配.所以没有很多社区以外的人力来搞字体这个毫无回报的东西. 结果很自然的,装linux桌 ...
- maven说
maven打包命令:mvn assembly:assembly 打包成jar包需要修改配置把unpack改成false文件在: C:\Users\Administrator\.m2\repositor ...
- Codeigniter2.25部署Linux(php5.6)
1).默认路由:修改system/core/Router.php 中第146行.如下图所示.ps:转换成小写我也是醉了...注释的代表是codeigniter作者写的,而上面的是我更改的 2).mod ...
- 白话学习MVC(九)View的呈现一
一.概述 本节来看一下ASP.NET MVC[View的呈现]的内容,View的呈现是在Action执行之后进行,Action的执行生成一个ActionResult,[View的呈现]的功能就是:通过 ...
- JQuery实现click事件绑定与触发方法分析
原生JS通过什么方法绑定click事件? 原生js有一下三种方法为DOM对象绑定click事件, 第一种,在html中添加 onclick属性,在此属性中添加要绑定的事件函数,如下, 这种方法为htm ...
- git制作增量包用于更新代码
1 先找到指定的开始提交id,比如 05104e3475f63e1e49fbfcbd424a4a3801b95645 2 找到结束的提交id,比如 a0eb9bc6d4e1801062877fd435 ...
- Linux命令之md5sum
1. 背景 在网络传输.设备之间转存.复制大文件等时,可能会出现传输前后数据不一致的情况.这种情况在网络这种相对更不稳定的环境中,容易出现.那么校验文件的完整性,也是势在必行的. md5sum命令用于 ...
- 从头开始一步一步实现EF6+Autofac+MVC5+Bootstarp极简前后台ajax表格展示及分页(二)前端修改、添加表格行点击弹出模态框
在前一篇中,由于不懂jquery,前端做的太差了,今天做稍做修改,增加一个跳转到指定页面功能,表格行点击样式变化.并且在表格中加入bootstarp的按钮组,按钮点击后弹出模态框,须修改common, ...
- Robotium自动化测试框架实用教程(图)
一.简介 Robotium是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击.长按.滑动等).查找和断言机制的API,能够对各 ...