当前位置: 首页 > news >正文

企业网站开发制作/合肥360seo排名

企业网站开发制作,合肥360seo排名,网站建设中网站需求分析,用wgert 做网站检测前言:上次介绍了RabbitMQ在windows下的安装,以及PHP的AMQP扩展的添加。这里将本地测试的代码放到了服务,所以也就是在Linux上再装一遍。但是这里就省掉直接进入使用。主要是RabbitMQ安装完毕后,管控台的使用以及在PHP中如何调用其…

前言:

上次介绍了RabbitMQ在windows下的安装,以及PHP的AMQP扩展的添加。这里将本地测试的代码放到了服务,所以也就是在Linux上再装一遍。但是这里就省掉直接进入使用。主要是RabbitMQ安装完毕后,管控台的使用以及在PHP中如何调用其接口实现消息的生产和消费。

步骤:

1. Linux安装完rabbitMQ后,没有配置文件,需要去github上将rabbitmq.conf.example复制下载下来改为rabbitmq.conf。

d4ed26fed7d635b4d8a0e66b9a0601bf.png

2. 可以修改默认Vhost和管理员默认账号密码,最重要的是要将管理员开放给所有IP都可以登录(默认是只能是本地可以登录),修改方式如下。

a7e783b4cbee527266ab79e1546dfa74.png

3. 进入到管控台后,先创建vhost,点击admin,侧栏框点击Virtual Hosts。

d497861d773cd8b15dbf2bb628b66d24.png
7e256f02b1dd9b2cf46f733191cb88c2.png
1ce8fa8aa6030d195aa85ece45646937.png
1bb2efb1193a3c8744a99879d92f4b0e.png

4. 添加Exchanges,先选择对应的Vhost

4294b07a0074eb6f0093cf74649fb3c7.png

5. 添加队列,选择Queues,选择对应的Vhost

0c46dc964fd7fda6e5401142b5d2ffde.png

6. 队列添加完毕后选择其中一个添加的名称进入。

5347bfffe626b389497051694d219e8f.png

7. 绑定之前的Exchanges中其中一个,输入exchanges名字和自定义一个路由Key。

034c97ff32eaf3863a4acbacc01970dd.png

8. 成功后就可以通过PHP代码生产消息到该虚拟机,然后经过交换机路由到该队列中。

<?phpnamespace rabbitmq;class Amq{    /**     * @var object 对象实例     */    protected static $instance;    protected $exchange='router_visit';  // 交换机(需要在队列中绑定)    protected $queue ='visit_log';       // 队列    protected $route ='router_visit';    // 路由key(需要在队列中绑定)    protected $consumer_tag='consumer';    protected $config = [        'host' => '146.53.206.264',        'port' => 5672,        'login' => 'guest',//guest        'password' => 'guest',//Na18gR@9tf        'vhost' => 'log',        'amqp_debug' => true    ];    protected $exchange_index = 0;    protected $exchange_type = [        'direct',        'fanout',        'topic',        'headers'    ];    /**     * @note 实例化     * @author: beiqiaosu     * @since: 2019/11/13 16:10     */    public static function getInstance()    {        if (!(self::$instance instanceof self)) {            self::$instance = new self();        }        return self::$instance;    }    /**     * @Notes: 消息生产     */    public function publisher($message,$config=[]) {        //如果有配置就用新配置        $this->config ['vhost'] = $config['vhost']?? $this->config ['vhost'];        $this->exchange = $config['exchange']?? $this->exchange;        $this->queue = $config['queue']?? $this->queue;        $this->consumer_tag = $config['consumer_tag']?? $this->consumer_tag;        $this->route = $config['route']?? $this->route;        $this->exchange_index = $config['exchange_index']?? $this->exchange_index;        $cnn = new AMQPConnection($this->config);        if (!$cnn->connect()) {            echo "Cannot connect to the broker";            exit();        }        $channel = new AMQPChannel($cnn);        $ex = new AMQPExchange($channel);        $ex->setName($this->exchange);        $ex->setType(AMQP_EX_TYPE_DIRECT); //direct类型        $ex->setFlags(AMQP_DURABLE); //持久化        $ex->declareExchange();        return "Send Message:".$ex->publish($message, $this->route, AMQP_NOPARAM, array('delivery_mode' => 2))."";    }    /**     * @note 消费     * @author: tata     * @since: 2019/11/13 16:10     */    public function consumer() {        $exchange='router_visit';       //交换机        $queue ='visit_log';         //队列        $route ='router_visit';        //路由        //连接broker        $cnn = new AMQPConnection($this->config);        if (!$cnn->connect()) {            echo "Cannot connect to the broker";            exit();        }        $channel = new AMQPChannel($cnn);        $ex = new AMQPExchange($channel);        //设置交换机名称        $ex->setName($exchange);        //设置交换机类型        //AMQP_EX_TYPE_DIRECT:直连交换机        //AMQP_EX_TYPE_FANOUT:扇形交换机        //AMQP_EX_TYPE_HEADERS:头交换机        //AMQP_EX_TYPE_TOPIC:主题交换机        $ex->setType(AMQP_EX_TYPE_DIRECT);        //设置交换机持久        $ex->setFlags(AMQP_DURABLE);        //声明交换机        $ex->declareExchange();        //创建一个消息队列        $q = new AMQPQueue($channel);        //设置队列名称        $q->setName($queue);        //设置队列持久        $q->setFlags(AMQP_DURABLE);        //声明消息队列        //$q->declareQueue();        //交换机和队列通过$route进行绑定        $q->bind($exchange, $route);        $ret = $q->consume(function($envelope, $queue) {            // 取出消息主题转为数组//            $origin_data = json_decode($envelope->getBody(),true);//            dump($envelope->getBody());die;            /**对消息主题执行业务**/            $res = true;            /**对消息主题执行业务**/            // 业务处理完毕发送给MQ消费掉该消息            if ($res) $queue->ack($envelope->getDeliveryTag()); //手动发送ACK应答        });        dump($ret);die;        $cnn->disconnect();    }}

9. 每执行一次生产或消费代码,可以在Queue中的统计或图表中看到,测试代码是否成功。

7ee0ea6ceeced9b4a5650800a1f2b25f.png
http://www.lbrq.cn/news/949951.html

相关文章:

  • 网站策划ps/百度网站搜索排名
  • 老网站改版做别的/百度收录入口
  • wordpress固定链接设置技巧/seo的实现方式
  • 上海网站关键词/百度网址大全下载
  • 程序开发平台哪个好/百度seo培训课程
  • 企业官网网站建设上海/开发网站建设
  • 单页网站如何制作/厦门关键词排名优化
  • 合肥手机网站建设/微信软文怎么写
  • java做web网站的流程/住房和城乡建设部
  • 微信上的网站/百度广告屏蔽
  • 网站建设科技公司/线下推广有哪几种渠道
  • 快速做网站用什么软件/长沙企业关键词优化
  • 重庆网站建设jwzcq/seo关键词快速排名前三位
  • 做网站怎么收费多少/今日新闻最新头条10条内容
  • 选择合肥网站建设/什么是网络营销的核心
  • 沈阳网站制作思路网络/快手秒赞秒评网站推广
  • 西安建设学院网站/长沙营销网站建设
  • 如何做psd的模板下载网站/百度一下官网手机版
  • 如何布局网站/西安seo优化培训机构
  • 免费房地产网站模板/推广费用一般多少
  • 北京seo平台/商丘网站seo
  • 广州化妆品网站建设/今日全国最新疫情通报
  • 免费行情软件app网站大全下载u288/网站提交入口链接
  • 怎么做有图有声的网站/100个免费推广b站
  • 广东企业网站建设公司/手机百度app下载安装
  • 河南做网站 河南网站建设/软文推广名词解释
  • 网站建设业务怎么开展/西安做网站的网络公司
  • 柞水县住房和城乡建设局网站/google关键词优化
  • 做虚拟币网站需要什么手续/游戏推广对接平台
  • 全国可信网站/市场营销策划包括哪些内容
  • Leetcode题解:209长度最小的子数组,掌握滑动窗口从此开始!!!
  • C++函数 vs Go函数
  • MCP vs 传统集成方案:REST API、GraphQL、gRPC的终极对比
  • docker 软件bug 误导他人 笔记
  • QGIS、ArcMap、ArcGIS Pro中的书签功能、场景裁剪
  • 【iOS】锁[特殊字符]