workermanDay01 安装、Worker类

workerman 开源异步PHP socket 即时通讯框架

文档:http://doc3.workerman.net/315128

0x00 Workman安装

安装 libevent(php<7) 或者 Event 扩展(php >=7)

step1 不论php版本,都要安装 libevent 扩展:

yum install libevent-devel -y

step2 php > 7 就安装 Event扩展

pecl.php.net

wget https://pecl.php.net/get/event-2.4.3.tgz

解压:

tar xf event-2.4.3.tgz

cd event-2.4.3

编译:

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

修改php.ini

extension = event.so

/etc/init.d/php-fpm restart

检测workman环境是否安装成功

curl -Ss http://www.workerman.net/check.php | php

如果成功,则显示:

安装框架:

git clone https://github.com/walkor/Workerman

0x01 wokerman 简单开发DEMO

#实现简单的http服务器

worker_http.php (和Workerman文件夹同级)

<?php

require_once 'Workerman/Autoloader.php';
use Workerman\Worker;

//0.0.0.0表示任意ip地址都可以连接,开启8880端口
$http = new Worker('http://0.0.0.0:8880');
$http->onMessage = function($connection,$data){
    $connection->send('Hello Workerman HTTP');
};

Worker::runAll();

php worker_http.php  start

php worker_http.php start -d 让该进程成为一个守护进程,在后台运行

#实现websocket

require_once 'Workerman/Autoloader.php';
use Workerman\Worker;

$ws = new Worker('websocket://0.0.0.0:8880');
$ws->onMessage = function($connection,$data){
    $connection->send('hello websocket');
};
Worker::runAll();

0x02 Worker类

Worker 类 用于实现端口的监听,并可以设置客户端的连接事件,连接上消息事件,连接断开事件的回调函数,从而实现业务处理

$worker = new Worker($listen,$context)

$content 用于传递socket的上下文选项

$listen string  格式 协议:// 允许连接的ip地址:端口

协议只可以是以下六种:

TCP tcp://0.0.0.0:8686

UDP udp://0.0.0.0:8686

unix unix:///tmp/my_file

http http://0.0.0.0:8686

websocket ws://0.0.0.0:8686

text text:0.0.0.0:8686 text协议是workerman内置的文本协议,兼容telnet协议

0x02 worker 类的属性以及主进程子进程

$worker-count = 4; 指定启动的进程数

master进程 是父进程

worker进程 是子进程

master进程管理 worker进程 ,实际监听端口的活 由 worker进程来干

demo :  对特定id的进程特殊处理

注意这里的id并不是worker进程的pid,而是worker自己对worker进程编的号,从0 开始

require_once 'Workerman/Autoloader.php';
use Workerman\Worker;

$listen = 'http://0.0.0.0:8880';
$worker = new worker($listen);
$worker->name ='chat';
$worker->count = 4;
$worker->onWorkerStart = function($worker){
    echo 'worker id...'.$worker->id.PHP_EOL;
    if($worker->id == 2){
        echo 'this is worker id 2'.PHP_EOL;
    }
};
Worker::runAll();

0x03Worker类的 回调属性

0x04 Worker类的接口

0x05 Worker类代码流程分析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Linux上安装Worker Service,您需要执行以下步骤: 1. 在Linux上安装.NET Core SDK:您可以从Microsoft官网下载最新版本的.NET Core SDK,然后按照官方文档中的说明安装它。 2. 创建一个新的Worker Service项目:使用.NET Core CLI创建一个新的Worker Service项目。您可以使用以下命令: ``` dotnet new worker -n <项目名称> ``` 3. 编写您的Worker Service:在生成的项目中,找到Worker.cs文件,并使用C#编写您的Worker Service逻辑。 4. 发布您的Worker Service:使用以下命令将您的Worker Service发布到Linux上: ``` dotnet publish -c Release -r linux-x64 ``` 5. 运行您的Worker Service:使用以下命令运行您的Worker Service: ``` ./<项目名称> ``` 请注意,您需要在Linux上安装.NET Core运行时才能运行Worker Service。您可以从Microsoft官网下载.NET Core运行时,并按照官方文档中的说明安装它。 ### 回答2: 要安装WorkerService,首先需要确保已经安装了Linux操作系统。WorkerService是Windows Service的Linux版本,用于在Linux系统上运行作为后台服务的应用程序。 在Linux中安装WorkerService需要通过调用systemd服务管理器来完成。下面是安装WorkerService的步骤: 步骤1:创建一个新的系统用户和组 在终端中使用以下命令创建一个新的系统用户和组: ``` sudo groupadd workers sudo useradd -g workers worker -m -s /sbin/nologin ``` 这将创建一个名为worker的系统用户,并将其加入名为workers的组。同时会在系统中创建一个worker用户目录。 步骤2:下载并解压WorkerService 通过下载WorkerService的二进制文件来获取安装程序。可以从官方网站上下载适用于Linux的WorkerService。 下载并解压WorkerService: ``` wget <WorkerService下载链接> tar -zxvf worker-service.tar.gz ``` 此命令将会下载WorkerService压缩包,并解压到当前目录。 步骤3:配置WorkerService 切换到WorkerService目录,并编辑worker-service.yaml文件,配置WorkerService相关的参数。 ``` cd worker-service vim worker-service.yaml ``` 根据实际需求配置worker-service.yaml文件,例如指定要运行的应用程序路径、日志输出等。 步骤4:安装WorkerService 使用以下命令安装WorkerService: ``` ./worker-service install ``` 这将会安装WorkerService,并将其添加到systemd服务管理器中。 步骤5:启动WorkerService 启动WorkerService服务: ``` sudo systemctl start worker-service ``` 这将会启动WorkerService服务,并开始后台运行。 步骤6:检查WorkerService状态 使用以下命令检查WorkerService服务的状态: ``` sudo systemctl status worker-service ``` 如果服务运行正常,将会显示服务的状态信息。 通过以上步骤,你就可以成功在Linux操作系统中安装和配置WorkerService,实现运行后台服务的功能。 ### 回答3: 安装WorkerService可以通过以下步骤完成: 1. 打开终端,使用管理员权限登录到Linux系统。 2. 下载WorkerService安装包。可以在WorkerService官方网站或官方镜像站点下载最新版本的安装包。 3. 解压安装包。使用解压命令(如tar -zxvf workerservice.tar.gz)将安装包解压到指定目录。 4. 进入解压后的目录。使用cd命令切换到新解压后的目录。 5. 检查系统依赖。运行安装程序之前,需要确保系统已满足WorkerService的运行依赖。可以通过运行命令(如./check_dependencies.sh)进行检查,并按照提示安装所需的依赖。 6. 运行安装程序。在终端中运行安装程序(如./install.sh),根据提示完成WorkerService的安装。 7. 配置WorkerService。在安装完成后,需要配置WorkerService以满足具体的需求。可以编辑配置文件(如workerservice.conf)来设置监听端口、日志路径等参数。 8. 启动WorkerService。使用终端中的命令(如./start.sh)启动WorkerService,并查看启动日志以确保服务已成功启动。 9. 检查WorkerService状态。通过运行命令(如./status.sh)可以查看WorkerService的运行状态,以及相关的进程信息。 10. 验证WorkerService功能。使用相应的工具或脚本验证WorkerService是否正常运行,如发送任务请求并查看处理结果。 以上是关于如何在Linux系统上安装WorkerService的简要步骤。具体步骤可能因系统版本或安装包版本而有所不同,建议参考官方文档或安装说明进行操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值