**linux下部署rabbitmq**
注意:在这里使用的Centos6.5版本
一、安装erlang 面向并发的编程语言
二、http://www.erlang.org/download/otp_src_19.3.tar.gz
三、1.下载RabbitMQ
四、官方下载地址http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-generic-unix-3.6.1.tar.xz
在安装RabbitMQ之前,需要将防火墙关闭:
1)查看防火墙状态 service iptables status
2)关闭防火墙service iptables stop
3)开启防火请service iptables start
如果在安装软件的时候,使用yum命令安装某软件出现“404 NOT FOUND”:
使用 1)yum clean all 2)yum update 清楚缓存试一试
依赖包:
yum -y install gcc ncurses ncurses-base ncurses-devel
yum -y install ncurses-libs ncurses-static ncurses-term ocaml-curses ocaml-curses-devel
yum -y install openssl-devel zlib-devel openssl-devel perl xz xmlto kernel-devel m4
1、下载otp_src_19.3.tar.gz
wget http://www.erlang.org/download/otp_src_19.3.tar.gz
2、tar xvf otp_src_19.3.tar.gz
3、./configure --prefix=/usr/local/erlang
–with-ssl --enable-threads --enable-smp-support
–enable-kernel-poll --enable-hipe --without-javac
4、make && make install
5、配置erlang环境:
vi /etc/profile
export PATH=$PATH:/usr/local/erlang/bin
source /etc/profile
二、安装rabbitmq
1、下载rabbitmq-server-generic-unix-3.6.5.tar.xz
2、tar xvf rabbitmq-server-generic-unix-3.6.5.tar.xz
3、mv rabbitmq_server-3.6.5/ /usr/local/rabbitmq
4、启动:
#启动rabbitmq服务
/usr/local/rabbitmq/sbin/rabbitmq-server
#后台启动
/usr/local/rabbitmq/sbin/rabbitmq-server –detached
#关闭rabbitmq服务
/usr/local/rabbitmq/sbin/rabbitmqctl stop
或
ps -ef | grep rabbit 和 kill -9 xxx
#开启插件管理页面
/usr/local/rabbitmq/sbin/rabbitmq-plugins enable rabbitmq_management
#创建用户
/usr/local/rabbitmq/sbin/rabbitmqctl add_user rabbitadmin 123456
usr/local/rabbitmq/sbin/rabbitmqctl set_user_tags rabbitadmin administrator
5、登录
#WEB登录
http://10.10.3.63:15672
http://192.168.197.110:15672
用户名:rabbitadmin
密码:123456
常用命令:
- 用户管理
用户管理包括增加用户,删除用户,查看用户列表,修改用户密码。
(1) 新增一个用户
rabbitmqctl add_user Username Password
(2) 删除一个用户
rabbitmqctl delete_user Username
(3) 修改用户的密码
rabbitmqctl change_password Username Newpassword
(4) 查看当前用户列表
rabbitmqctl list_users
(5)为用户赋权限
出现的问题,在java代码操作的手,会有一步操作是建立新的连接,也就是Connection conn = factory.newConnection();会出现错误,错误如下:
Exception in thread “main” java.io.IOException
at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:106)
at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:102)
at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:124)
at com.rabbitmq.client.impl.AMQConnection.start(AMQConnection.java:378)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:813)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:767)
at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:857)
at com.zyy.rabbitmq.RabbitMQProducer.main(RabbitMQProducer.java:21)
Caused by: com.rabbitmq.client.ShutdownSignalException: connection error; protocol method: #method<connection.close>(reply-code=530, reply-text=NOT_ALLOWED - access to vhost ‘/’ refused for user ‘zhuyongyi’, class-id=10, method-id=40)
at com.rabbitmq.utility.ValueOrException.getValue(ValueOrException.java:67)
at com.rabbitmq.utility.BlockingValueOrException.uninterruptibleGetValue
(BlockingValueOrException.java:33)
at com.rabbitmq.client.impl.AMQChannel$BlockingRpcContinuation.getReply
(AMQChannel.java:361)
at com.rabbitmq.client.impl.AMQChannel.privateRpc(AMQChannel.java:226)
at com.rabbitmq.client.impl.AMQChannel.exnWrappingRpc(AMQChannel.java:118)
… 5 more,所以这时候使用以下命令,这个因为没有给用户赋予权限导致的错误:
rabbitmqctl set_permissions –p “/” 用户名 ‘.’ '.’ ‘.*’
出现的问题:
./rabbitmq-server:行63: erl: 未找到命令
在启动rabblimq-server的时候报出如下错误:
解决办法是你配置/etrprofile的问题。
#SET erlang envirment
export PATH=KaTeX parse error: Expected 'EOF', got '#' at position 22: …usr/erlang/bin #̲SET RABBITMQ ex…PATH:/usr/rabbitmq/sbin
注:不配置,HOME只需要配置PATH.