ubuntu 安装 rabbitmq-server

Rabbitmq 是用 erlang 语言写的,所以我们需要安装 Erlang,安装 erlang 又需要安装 python 与 simplejson,所以我们从python开始:

1、安装 python:

 

[php] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. #wget http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tar.bz2  
  2. #tar -jxvf Python-2.5.2.tar.bz2  
  3. #cd Python-2.5.2  
  4. #./configure  
  5. #make && make install  
  6. 测试:在命令行下输入python,出现python解释器即表示已经正确安装。  


2、安装 simplejson:

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. #wget http://pypi.python.org/packages/source/s/simplejson/simplejson-2.0.9.tar.gz  
  2. #tar zxvf simplejson-2.0.9.tar.gz  
  3. #cd simplejson-2.0.9   
  4. #python setup.py build  
  5. #python setup.py install  


3、安装 erlang 

 

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. 先安装以下依赖包 ,别问为什么按行执行安装不然有你苦吃  
  2. #yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel   
  3. #yum install libX* java* tk unixODBC unixODBC-devel  
  4. #yum -y install ncurses-devel   
  5. #yum install ncurses-devel   
  6. #yum -y install xmlto  
  7. #wget http://www.erlang.org/download/otp_src_R13B04.tar.gz  
  8. #mv otp_src_R16B02 erlang_R16B #重命名解压厚的文件   
  9. #cd erlang_R16B/   
  10. #./configure --prefix=/usr/local/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac     
  11. #make && make install  
  12.   
  13. #vi /etc/profile     
  14. ERL_HOME=/usr/local/erlang    
  15. PATH=$ERL_HOME/bin:$PATH    
  16. export ERL_HOME PATH  
  17. #source /etc/profile  
  18. 更新环境变量  
  19. 执行erl,进入erlang的shell成功安装  测试一下是否安装成功,在控制台输入命令erl  

4、安装 RabbitMQ

[php] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. #yum install nc (nc.x86_64)  
  2.   
  3. cd /usr/local  
  4. #wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.1.1/rabbitmq-server-3.1.1.tar.gz  
  5. #cd rabbitmq-server-3.1.1  
  6. #make  
  7. #make install TARGET_DIR=/opt/mq/rabbitmq SBIN_DIR=/opt/mq/rabbitmq/sbin MAN_DIR=/opt/mq/rabbitmq/man  
  8. //最新的包要加入其它目录,忘记是什么目录了。make install 看错误提示。将rabbitmq编译到/opt/mq/rabbitmq目录  


5、安装web插件管理界面

 

 

[php] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. #cd /opt/mq/rabbitmq/sbin   
  2. #mkdir /etc/rabbitmq/  
  3. #rabbitmq-plugins enable rabbitmq_management  
[php] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. #./rabbitmq-server start &  
[php] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. 启动rabbitmq服务:   
  2. 前台运行:rabbitmq-server start (用户关闭连接后,自动结束进程)   
[php] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. 后台运行:rabbitmq-server -detached  


6、好了,到这里rabbitmq已经配置好了,可以启动了:

 

 

[html] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. 我们再来查看看一下rabbitmq的默认监听端口5672:  
  2. #netstat -tnlp|grep 5672        
  3. 最好我们就可以在浏览器上输入http://ip:15672/登录管理界面了:  
  4. 使用登录的名户名和密码默认都算guest,登录后的页面如下:  
  5. 另一台机器访问rabbitmq(就是本机之外),需要打开15672端口  
  6. #vi /etc/sysconfig/iptables  把15672端口加进去。然后重启service iptables restart  


 

http://www.oschina.net/news/66104/rabbitmq-3-5-5-rc2?utm_source=tuicool

 

rabbitmq常用命令

rabbitmq-server start  或者   service rabbitmq-server start     #启动rabbitmq

rabbitmqctl list_exchanges 

rabbitmqctl list_bindings

rabbitmqctl list_queues #分别查看当前系统种存在的Exchange和Exchange上绑定的Queue信息。

rabbitmqctl status  #查看运行信息

rabbitmqctl stop     #停止运行rabbitmq

rabbitmq-plugins enable rabbitmq_management  

#启动rabbitmq的图形管理界面,这个操作必须重启rabbitmq, 然后在web中 http://10.109.18.226:15672 用户名和密码都是guest guest。如果局域网无法访问设置防火墙过滤规则或关闭防火墙。

 

添加用户:

rabbitmqctl add_user rainbird password

添加权限:

rabbitmqctl set_permissions -p "/" rainbird ".*" ".*" ".*"

删除测试用户:

rabbitmqctl delete_user guest

 

所有指令列表(很简单的英文):

add_user        <UserName> <Password>

delete_user     <UserName>

change_password <UserName> <NewPassword>

list_users

add_vhost    <VHostPath>

delete_vhost <VHostPath>

list_vhosts

set_permissions   [-p <VHostPath>] <UserName> <Regexp> <Regexp> <Regexp>

clear_permissions [-p <VHostPath>] <UserName>

list_permissions  [-p <VHostPath>]

list_user_permissions <UserName>

list_queues    [-p <VHostPath>] [<QueueInfoItem> ...]

list_exchanges [-p <VHostPath>] [<ExchangeInfoItem> ...]

list_bindings  [-p <VHostPath>] 

list_connections [<ConnectionInfoItem> ...]

rabbitmq可以搭建为集群

搭建架构: 
一个haproxy,反向代理rabbitmq服务节点,rabbitmq服务只代理内存节点,保证速度。 
web监控端代理磁盘节点,所有节点都是元数据都是同步的。 
基本上可以保证如果不是所有的机器都down了,rabbitmq服务就不会down。具体的搭建见: http://www.tuicool.com/articles/YbYvIj

posted @ 2015-09-17 17:17  missAnnie  阅读(857)  评论(0编辑  收藏  举报