Centos6.5 安裝 RabbitMQ3.6.1
個人安裝RabbitMQ總結:
安裝編譯工具
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
- 1
安裝Erlang
- 1. 下載erlang
- 下載地址: http://download.csdn.net/detail/a15134566493/9517595
- 官方下載地址: http://erlang.org/download/otp_src_18.3.tar.gz
2.安裝
#解壓 tar xvf otp_src_18.3.tar.gz cd otp_src_18.3 #配置 '--prefix'指定的安裝目錄 ./configure --prefix=/usr/local/erlang --with-ssl -enable-threads -enable-smmp-support -enable-kernel-poll --enable-hipe --without-javac #安裝 make && make install
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
3.配置erlang環境變量
vim /etc/profile
#在文件末尾添加下面代碼 'ERLANG_HOME'等於上一步'--prefix'指定的目錄 ERLANG_HOME=/usr/local/erlang PATH=$ERLANG_HOME/bin:$PATH export ERLANG_HOME export PATH #使環境變量生效 source /etc/profile #輸入命令檢驗是否安裝成功 erl #如下輸出表示安裝成功
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
安裝RabbitMQ
- 1.下載RabbitMQ
- 官方下載地址 http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-generic-unix-3.6.1.tar.xz
2.安裝
RabbitMQ3.6版本無需make、make install 解壓就可以用
#解壓rabbitmq,官方給的包是xz壓縮包,所以需要使用xz命令 xz -d rabbitmq-server-generic-unix-3.6.1.tar.xz #xz解壓后得到.tar包,再用tar命令解壓 tar -xvf rabbitmq-server-generic-unix-3.6.1.tar #移動目錄 看個人喜好 cp -rf ./rabbitmq_server-3.6.1 /usr/local/ cd /usr/local/ #修改文件夾名 mv rabbitmq_server-3.6.1 rabbitmq-3.6.1 #開啟管理頁面插件 cd ./rabbitmq-3.6.1/sbin/ ./rabbitmq-plugins enable rabbitmq_management
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
3.啟動
#啟動命令,該命令ctrl+c后會關閉服務 ./rabbitmq-server #在后台啟動Rabbit ./rabbitmq-server -detached #關閉服務 ./rabbitmqctl stop #關閉服務(kill) 找到rabbitmq服務的pid [不推薦] ps -ef|grep rabbitmq kill -9 ****
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
4. 添加管理員賬號
#進入RabbitMQ安裝目錄 cd /usr/local/rabbitmq-3.6.1/sbin #添加用戶 #rabbitmqctl add_user Username Password ./rabbitmqctl add_user rabbitadmin 123456 #分配用戶標簽 #rabbitmqctl set_user_tags User Tag #[administrator]:管理員標簽 ./rabbitmqctl set_user_tags rabbitadmin administrator
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 5.登錄管理界面
-
瀏覽器輸入地址:http://服務器IP地址:15672/
-
輸入第4部添加的賬號密碼登錄
其他
1.訪問不了
安裝完成之后如果機器有iptables,需要開放端口
vim /etc/sysconfig/iptables
#RabbitMQ -A INPUT -p tcp -m state --state NEW -m tcp --dport 15672 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 25672 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 5672 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 4369 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 5671 -j ACCEPT #RabbitMQ
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
RabbitMQ常用端口(摘自網絡)
4369 (epmd),
25672 (Erlang distribution)
5672, 5671 (AMQP 0-9-1 without and with TLS)
15672 (if management plugin is enabled)
61613, 61614 (if STOMP is enabled)
1883, 8883 (if MQTT is enabled)
2.Warning: PID file not written; -detached was passed
提示這句話暫時沒處理,有空補上。
- 3.RabbitMQ壓縮包.xz解壓問題
- 需要安裝xz軟件(網上有教程,我之后也會補充)
- 如果嫌麻煩,可直接下載我解壓好的包
- 下載地址: http://download.csdn.net/detail/a15134566493/9518835
有問題歡迎提建議。
注:1、有的地方說要把py版本升級到2.7,這里面並沒有升級,沒有問題。在安裝erlang的時候./configure后面的參數要接上,不然會啟動rabbitmq的時候會報ssl等錯誤。
2、guest/guest一般來說是無法登錄的,guest必須是localhost才能登錄,所以得先用命令行新增用戶才能登錄。
3、
1、如果寫錯了host (如:factory.setHost("locathost"); )報錯:
Exception in thread "main" java.net.UnknownHostException: locathost
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:195)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at com.rabbitmq.client.impl.FrameHandlerFactory.create(FrameHandlerFactory.java:32)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:588)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:612)
at com.aaa.test.Send.main(Send.java:19)
2、如果寫錯了HOST的IP(如:factory.setHost("192.168.1.10"); )無此地址, 報錯:
Exception in thread "main" java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at com.rabbitmq.client.impl.FrameHandlerFactory.create(FrameHandlerFactory.java:32)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:588)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:612)
at com.aaatest.Send.main(Send.java:19)
3、如果寫錯端口PORT(如:factory.setPort(5678);) 報錯:
Exception in thread "main" java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at com.rabbitmq.client.impl.FrameHandlerFactory.create(FrameHandlerFactory.java:32)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:588)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:612)
at com.aaa.test.Send.main(Send.java:19)
4、如果寫錯用戶名或者密碼,報錯:
Exception in thread "main" com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile.
at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:338)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:590)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:612)
at com.aaa.test.Send.main(Send.java:19)
轉:http://blog.csdn.net/a15134566493/article/details/51393955