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

简介: 安装phpapt-get install php5-cliroot@iZ23b64pe35Z:/home/www# php -vPHP 5.5.9-1ubuntu4.20 (cli) (built: Oct 3 2016 13:00:37)  检查pcntl、posix扩展(已经...

 安装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 多少个请求

 

目录
相关文章
|
6月前
|
人工智能 JavaScript API
零基础构建MCP服务器:TypeScript/Python双语言实战指南
作为一名深耕技术领域多年的博主摘星,我深刻感受到了MCP(Model Context Protocol)协议在AI生态系统中的革命性意义。MCP作为Anthropic推出的开放标准,正在重新定义AI应用与外部系统的交互方式,它不仅解决了传统API集成的复杂性问题,更为开发者提供了一个统一、安全、高效的连接框架。在过去几个月的实践中,我发现许多开发者对MCP的概念理解透彻,但在实际动手构建MCP服务器时却遇到了各种技术壁垒。从环境配置的细节问题到SDK API的深度理解,从第一个Hello World程序的调试到生产环境的部署优化,每一个环节都可能成为初学者的绊脚石。因此,我决定撰写这篇全面的实
1647 67
零基础构建MCP服务器:TypeScript/Python双语言实战指南
|
5月前
|
Ubuntu Linux 网络安全
Linux服务器之Ubuntu的安装与配置
Ubuntu Desktop是目前最成功、最流行的图形界面的Linux发行版;而Ubuntu Server也在服务器端市场占据了较大的份额。今天为大家详细介绍了Ubuntu Server的安装与配置,希望对你能有所帮助。关于VMware、VirtualBox等虚拟化软件的使用,朱哥还会在后续的文章中为大家详细介绍,敬请关注!
|
3月前
|
Shell Linux 网络安全
宝塔服务器面板部署安装git通过第三方应用安装收费怎么办—bash: git: command not found解决方案-优雅草卓伊凡
宝塔服务器面板部署安装git通过第三方应用安装收费怎么办—bash: git: command not found解决方案-优雅草卓伊凡
701 3
宝塔服务器面板部署安装git通过第三方应用安装收费怎么办—bash: git: command not found解决方案-优雅草卓伊凡
|
3月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
994 5
|
4月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
354 18
|
4月前
|
Ubuntu 安全 关系型数据库
安装MariaDB服务器流程介绍在Ubuntu 22.04系统上
至此, 您已经在 Ubuntu 22.04 系统上成功地完成了 MariadB 的标准部署流程,并且对其进行基础但重要地初步配置加固工作。通过以上简洁明快且实用性强大地操作流程, 您现在拥有一个待定制与使用地强大 SQL 数据库管理系统。
376 15
|
4月前
|
弹性计算 安全 Linux
使用阿里云服务器安装Z-Blog博客网站流程,新手一键部署教程
本教程教你如何在阿里云99元服务器上,通过宝塔Linux面板一键部署Z-Blog博客。基于CentOS 7.9系统,从远程连接、安装宝塔面板、开放端口到部署Z-Blog全流程详解,操作简单,新手也能轻松搭建个人博客网站。
590 13
|
5月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
5月前
|
Ubuntu Linux
如何在 Ubuntu 服务器上安装桌面环境(GUI)
如果你有任何问题,请在评论区留言。你会在服务器上使用 GUI 吗?参照本文后你遇到了什么问题吗?
952 0
|
6月前
|
JSON 前端开发 Go
Go语言实战:创建一个简单的 HTTP 服务器
本篇是《Go语言101实战》系列之一,讲解如何使用Go构建基础HTTP服务器。涵盖Go语言并发优势、HTTP服务搭建、路由处理、日志记录及测试方法,助你掌握高性能Web服务开发核心技能。