8.微服務-安裝rabbitmq

一、docker安裝rabbitMQ

#指定版本,該版本包含了web控制頁面
docker pull rabbitmq:management
docker run -d --hostname my-rabbit  --name rabbit -15672:15672 -p 5672:5672  rabbitmq

二、安裝 rabbitmq-c

C 與 RabbitMQ 通信需要依賴 rabbitmq-c 庫(librabbitmq),具體請看https://github.com/alanxz/rabbitmq-c

git clone git://github.com/alanxz/rabbitmq-c.git
cd rabbitmq-c
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq
cmake --build . --target install

注意路徑指定,下載amqp擴展時需要指定路徑,同時需要修拷貝安裝路徑下的lib64爲lib,否則php擴展載入的時候找不到擴展

cd /usr/local/rabbitmq
cp -r lib64 lib

三、接下來就是安裝 php amqp 的擴展了:

你可以源碼編譯安裝

wget http://pecl.php.net/get/amqp-1.8.0.tgz
tar zxvf amqp-1.8.0.tgz
cd amqp-1.8.0
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq
make && make install

必須指定好 rabbitmq-c文件的安裝路徑纔行

最後將‘extension=amqp.so’加入 php.ini

四、如果不想在docker安裝,可以把第一步驟變爲以下操作

1、安裝準備

安裝Erlang編譯安裝必要依賴

安裝必要依賴
sudo yum install -y gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-1.8.0-openjdk-devel git
下載
wget http://erlang.org/download/otp_src_20.2.tar.gz

解壓

tar -zvxf otp_src_20.2.tar.gz

2、安裝erlang和rabbitmq

2.1、Erlang安裝

#進入根目錄

cd otp_src_20.2.tar.gz
編譯&安裝
./otp_build autoconf
./configure && make && sudo make install
配置環境變量
vim /etc/profile
設置環境變量,最後一行加上這個
export ERLANG_PATH=$PATH:/usr/local/lib/erlang/bin
更新環境變量
source /etc/profile
安裝 socat
sudo yum install -y socat
2.2、安裝rabbitmq
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.15/rabbitmq-server-3.7.15-1.el7.noarch.rpm
導入祕鑰
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
安裝

這一步我直接yum安裝了,因爲試了太多版本都不行,就交給yum了

yum install rabbitmq-server

啓動RabbitMQ服務

3、rabbitmq的基本操作:

啓動:rabbitmq-server -detached

關閉:rabbitmqctl stop

查看狀態:rabbitmqctl status

4、配置rabbitmq網頁管理插件

啓用插件: rabbitmq-plugins enable rabbitmq_management

訪問管理頁面:http://192.168.?.?:15672 端口默認爲15672

或許你打不開 記得把防火牆關了

關閉防火牆命令:systemctl stop firewalld.service

又或者你這樣:

將mq的tcp監聽端口和網頁管理端口都設置成允許遠程訪問

firewall-cmd --permanent --add-port=15672/tcp

firewall-cmd --permanent --add-port=5672/tcp

systemctl restart firewalld.service

(我一般都是暴力操作直接關閉防火牆,因爲我記得之前的胖領導給我說過linux 上的防防火牆沒什麼用)

打開之後有個用戶名和密碼

rabbitmq有一個默認的用戶名和密碼,guest和guest,但爲了安全考慮,該用戶名和密碼只允許本地訪問,如果是遠程操作的話,需要創建新的用戶名和密碼;

root權限

rabbitmqctl add_user username passwd //添加用戶,後面兩個參數分別是用戶名和密碼 (liudan liudan123)

rabbitmqctl set_permissions -p / username “." ".” “.*” //添加權限

rabbitmqctl set_user_tags username administrator //修改用戶角色,將用戶設爲管理員

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章