zoukankan      html  css  js  c++  java
  • rabbitmq安装

    简单说下个人的理解,mq就是一个消息代理,负责异步消息转发,可以很大程度缓解服务器压力,并且防止服务器宕机影响业务等。

    安装:

    环境:vbox+centos7+php

    1).首先需要安装erlang

    #wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
    #rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
    #yum install erlang
    安装过程中会有提示,一路输入“y”即可。
    检查:#erl    返回的是22
    查看安装路径:whereis erlang

    2).上述完成后安装RabbitMQ:
    注意,注意,注意,erlang与rabbitmq两者的版本要求,这个是rabbitmq官网列出的版本对应:https://www.rabbitmq.com/which-erlang.html

    看清erlang的版本再下载,否则不兼容,下面是我遇到的问题,反正一开始不懂,谷歌了好久才发下原因:
    Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.
    # rabbitmq-server start命令中的错误描述是no..忘了

    开始正式安装,先下载rpm:

    #wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-3.7.15-1.el7.noarch.rpm
    下载完成后安装:
    #yum install rabbitmq-server-3.7.15-1.el7.noarch.rpm
    检验是否安装成功:
    #systemctl start rabbitmq-server
    #systemctl status rabbitmq-server
    也可以使用:
    #service rabbitmq-server start
    #service rabbitmq-server status
    返回,Active: active (running)代表成功运行了
    
    查看运行的端口,5672为rabbitmq的端口
    #netstat -telnet
    
    开机自启:
    #chkconfig rabbitmq-server on

    3).启动插件进行web访问管理页面:

    #rabbitmq-plugins enable rabbitmq_management
    然后通过浏览器访问
    http://ip:15672(我是用vbox安装,所以本机是ip远程登录)
    输入默认用户名(guest)和默认密码(guest)访问web管理界面了。

    这里有个问题,默认情况下,RabbitMQ的默认的guest用户只允许本机访问。如果想让guest用户能够远程访问的话,只需要将配置文件中的loopback_users列表置为空即可,如下:

    {loopback_users, []}

    当然新增用户admin也可以做到远程访问。要记得打上tag、赋予admin最高权限哦。

    附上关于RabbitMQ的一些基本操作:

    $ sudo chkconfig rabbitmq-server on  # 添加开机启动RabbitMQ服务
    $ sudo /sbin/service rabbitmq-server start # 启动服务
    $ sudo /sbin/service rabbitmq-server status  # 查看服务状态
    $ sudo /sbin/service rabbitmq-server stop   # 停止服务
    # 查看当前所有用户
    $ rabbitmqctl list_users
    # 查看默认guest用户的权限
    $ rabbitmqctl list_user_permissions guest
    # 由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户
    $ rabbitmqctl delete_user guest
    # 添加新用户
    $ rabbitmqctl add_user username password
    # 设置用户tag
    $ rabbitmqctl set_user_tags username administrator
    # 赋予用户默认vhost的全部操作权限
    $ rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
    # 查看用户的权限
    $ rabbitmqctl list_user_permissions username

     

    4).php使用时是需要添加amqp模块的

    amqp又依赖rabbitmq-c:

    先安装rabbitmq-c:

    #wget -c https://github.com/alanxz/rabbitmq-c/releases/download/v0.8.0/rabbitmq-c-0.8.0.tar.gz
    #tar zxf rabbitmq-c-0.8.0.tar.gz
    #cd rabbitmq-c-0.8.0
    # ./configure --prefix=/usr/local/rabbitmq/rabbitmq-c-0.8.0
    #make && make install

    再安装php的amqp模块扩展,注意php的版本要对应哦:

    # wget http://pecl.php.net/get/amqp-1.9.4.tgz
    #tar zxf amqp-1.9.4.tgz
    #cd amqp-1.9.4
    #/usr/local/php/bin/phpize
    #./configure --with-php-config=/usr/local/php/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq/rabbitmq-c-0.8.0
    #make && make install
    编译成功后会给出#Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/
    将这个添加到php.ini中:
    #vi /usr/local/php/etc/php.ini
    增加:extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/amqp.so 

    重启php-fpm,查看phpinfo中出现模块amqp就表示成功了。

    好了,以上就是整个安装过程,开始用起来吧

     

  • 相关阅读:
    c++ 对象大小内存占用分析
    运维(SA)修仙 之路 II
    分享好文章-Ansible 进阶技巧
    java JWT 登录认证
    ftp:500 OOPS: chroot
    centos 磁盘清理
    redis分析命令
    linux查找内容
    vim使用
    查看进程端口
  • 原文地址:https://www.cnblogs.com/two-bees/p/10980951.html
Copyright © 2011-2022 走看看