Yii2.0 安装yii2-queue并在Linux启动守护进程监听消息

Posted 冰狼爱魔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yii2.0 安装yii2-queue并在Linux启动守护进程监听消息相关的知识,希望对你有一定的参考价值。

一、什么是yii2-queue?

Yii2-queue是Yii2.0 php框架下一个消息队列拓展插件,支持基于DB, Redis, RabbitMQ, AMQP, Beanstalk 和 Gearman等。yii2-queue GitHub地址:https://github.com/yiisoft/yii2-queue

二、如何安装yii2-queue?

php composer.phar require --prefer-dist yiisoft/yii2-queue

三、Linux systemd介绍

systemd是linux下的一款系统和服务管理器,为什么要使用systemd ? 在rpm包二进制方式安装的linux软件中,使用init守护进程进行服务状态的管理或者使用service命令 例如启动mysql数据库可以是 /etc/init.d/mysql start 或者service mysql start.

使用linux init进程进行管理服务的时候有两个缺点:

  1.init系统进程是串行执行的,也就是同步的 ,只有前一个进程启动完成,才会启动下一进程。

  2.启动脚步复杂,init进程是只执行启动脚步,不管其他的任务

使用Systemd优点:

  1.Systemd支持并行化任务,

  2.同时采用socket于D-Bus总线式激活服务,按需启动守护进程(daemon)

在新版的Linux系统中都在使用sytemd 进行管理 例如(Ubuntu 16、Debian 8、CentOS 7)

四、在Linux创建systemd系统服务监听队列消息

1、在Linux下进入system目录,相关命令:cd /etc/systemd/system;

2、新增[email protected]文件,相关命令:vi [email protected]

3、[email protected]文件内容如下:

[Unit]
Description=Yii Queue Worker %I
After=network.target
# the following two lines only apply if your queue backend is mysql
# replace this with the service that powers your backend
After=mysql.service
Requires=mysql.service

[Service]
User=www-data
Group=www-data
ExecStart=/usr/bin/php /var/www/my_project/yii queue/listen --verbose
Restart=on-failure

[Install]
WantedBy=multi-user.target

4、重载systemd配置文件使其生效,相关命令:systemctl daemon-reload;

5、其他相关命令:

# To start two workers
systemctl start yii[email protected]1 [email protected]2

# To get the status of running workers
systemctl status "[email protected]*"

# To stop a specific worker
systemctl stop yii[email protected]2

# To stop all running workers
systemctl stop "[email protected]*"

# To start two workers at system boot
systemctl enable yii[email protected]1 [email protected]2

 



以上是关于Yii2.0 安装yii2-queue并在Linux启动守护进程监听消息的主要内容,如果未能解决你的问题,请参考以下文章

Yii yii2-queue 基本使用

Yii系列Yii2.0的安装与调试

YII2.0版本框架利用composer安装

手动安装yii2.0-redis扩展

php--yii2.0的安装

composer安装yii2.0