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就表示成功了。

 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM