rabbitmq安裝

簡單說下我的的理解,mq就是一個消息代理,負責異步消息轉發,能夠很大程度緩解服務器壓力,而且防止服務器宕機影響業務等。php

安裝:html

環境:vbox+centos7+phpgit

1).首先須要安裝erlanggithub

#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.htmlweb

看清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..忘了centos

開始正式安裝,先下載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就表示成功了。

 

好了,以上就是整個安裝過程,開始用起來吧

相關文章
相關標籤/搜索