在安裝環境之前,相信已經瞭解了爲什麼要使用中間件?以及使用中間件的好處?
主要優勢: 1: 系統解耦 2: 異步調用 3: 容納流量
中間件的主要用來 : 存儲消息和轉發消息的, 這個消息可以定義爲 通信載體 --》 通信載體可以定義爲任何的請求報文和響應報文。
rabbitmq使用erlang語言開發,所以無論在哪個系統上面,想要使用rabbitmq中間件,必須先安裝依賴erlang。
安裝過很多次erlang和mq, 但是最後是有問題,各種各樣的問題。 它的主要問題是: 版本的匹配,可以參考官網,或者百度mq和erlang的版本匹配。
這裏做一個筆記: 選擇erlang版本是:20.3 對應的包 otp_src_20.3.tar.gz
而rabbitmq-server的版本是: 這個安裝方式選擇了 rpm包安裝: rabbitmq-server-3.7.6-1.el7.noarch.rpm
上面的資源文件可以參考我的上傳資源進行下載。
具體安裝步驟:
我參考的主要是: https://www.linuxidc.com/Linux/2018-01/150600.htm
然後是以下的操作步驟:
安裝包已經下載好了
tar -xvf otp_src_20.3.tar.gz
ll
mkdir /usr/local/erlang
cd otp_src_20.3
./configure --prefix=/usr/local/erlang --without-Javac
下面是編譯: make && make install 需要的依賴:
yum -y install gcc-c++
yum -y install ncurses-devel
1yum -y install openssl
yum -y install openssl-devel
yum -y install unixODBC-devel
ERL_HOME=/usr/local/erlang
PATH=$ERL_HOME/bin:$PATH
export ERL_HOME PATH
rpm -ivh --nodeps rabbitmq-server-3.7.10-1.el7.noarch.rpm
[root@localhost ~]# rpm -ivh --nodeps rabbitmq-server-3.7.10-1.el7.noarch.rpm
警告:rabbitmq-server-3.7.10-1.el7.noarch.rpm: 頭V4 RSA/SHA1 Signature, 密鑰 ID 6026dfca: NOKEY
準備中... ################################# [100%]
正在升級/安裝...
1:rabbitmq-server-3.7.10-1.el7 ################################# [100%]
[root@localhost ~]#
運行RabbitMQ需要首先開放15672和5672端口:
[root@MiWiFi-R3-srv ~]# firewall-cmd --zone=public --add-port=15672/tcp --permanent
[root@MiWiFi-R3-srv ~]# firewall-cmd --zone=public --add-port=5672/tcp --permanent
[root@MiWiFi-R3-srv ~]# firewall-cmd --reload
[root@MiWiFi-R3-srv ~]# rabbitmq-plugins enable rabbitmq_management
[root@MiWiFi-R3-srv ~]# rabbitmq-server
正常啓動以後,我們可以在本地使用瀏覽器中訪問管理頁面:http://<虛擬機IP>:15672/
http://192.168.5.130:15672/
[root@MiWiFi-R3-srv ~]# rabbitmqctl add_user hongdu hongdu
[root@MiWiFi-R3-srv ~]# rabbitmqctl set_user_tags hongdu administrator
[root@MiWiFi-R3-srv ~]# rabbitmqctl set_permissions -p / hongdu '.*' '.*' '.*'
<!-- 後臺啓動 -->
[root@MiWiFi-R3-srv ~]# rabbitmq-server -detached
/usr/lib/rabbitmq/bin/rabbitmq-env: 第 400 行:exec: erl: 未找到
rpm -e --nodeps 要卸載的軟件包
https://blog.csdn.net/wudinaniya/article/details/80809353
值得參考:
linux公社
rabbitmq-server-3.7.6-1.el7.noarch.rpm
rabbitmq-server-3.7.6-1.el7.noarch.rpm
https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.6/rabbitmq-server-3.7.6-1.el7.noarch.rpm
---------------------------zookeeper 防火牆端口問題
[root@centos7 ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
查詢端口號80 是否開啓:
[root@centos7 ~]# firewall-cmd --query-port=80/tcp
重啓防火牆:
[root@centos7 ~]# firewall-cmd --reload
查詢有哪些端口是開啓的:
[root@centos7 ~]# firewall-cmd --list-port
命令含義:
--zone #作用域
--add-port=80/tcp #添加端口,格式爲:端口/通訊協議
--permanent #永久生效,沒有此參數重啓後失效
關閉firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall開機啓動