ubuntu 安装 rabbitmq-server
Rabbitmq 是用 erlang 语言写的,所以我们需要安装 Erlang,安装 erlang 又需要安装 python 与 simplejson,所以我们从python开始:
1、安装 python:
- #wget http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tar.bz2
- #tar -jxvf Python-2.5.2.tar.bz2
- #cd Python-2.5.2
- #./configure
- #make && make install
- 测试:在命令行下输入python,出现python解释器即表示已经正确安装。
2、安装 simplejson:
- #wget http://pypi.python.org/packages/source/s/simplejson/simplejson-2.0.9.tar.gz
- #tar zxvf simplejson-2.0.9.tar.gz
- #cd simplejson-2.0.9
- #python setup.py build
- #python setup.py install
3、安装 erlang
- 先安装以下依赖包 ,别问为什么按行执行安装不然有你苦吃
- #yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
- #yum install libX* java* tk unixODBC unixODBC-devel
- #yum -y install ncurses-devel
- #yum install ncurses-devel
- #yum -y install xmlto
- #wget http://www.erlang.org/download/otp_src_R13B04.tar.gz
- #mv otp_src_R16B02 erlang_R16B #重命名解压厚的文件
- #cd erlang_R16B/
- #./configure --prefix=/usr/local/erlang --with-ssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac
- #make && make install
- #vi /etc/profile
- ERL_HOME=/usr/local/erlang
- PATH=$ERL_HOME/bin:$PATH
- export ERL_HOME PATH
- #source /etc/profile
- 更新环境变量
- 执行erl,进入erlang的shell成功安装 测试一下是否安装成功,在控制台输入命令erl
4、安装 RabbitMQ
- #yum install nc (nc.x86_64)
- cd /usr/local
- #wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.1.1/rabbitmq-server-3.1.1.tar.gz
- #cd rabbitmq-server-3.1.1
- #make
- #make install TARGET_DIR=/opt/mq/rabbitmq SBIN_DIR=/opt/mq/rabbitmq/sbin MAN_DIR=/opt/mq/rabbitmq/man
- //最新的包要加入其它目录,忘记是什么目录了。make install 看错误提示。将rabbitmq编译到/opt/mq/rabbitmq目录
5、安装web插件管理界面
- #cd /opt/mq/rabbitmq/sbin
- #mkdir /etc/rabbitmq/
- #rabbitmq-plugins enable rabbitmq_management
- #./rabbitmq-server start &
- 启动rabbitmq服务:
- 前台运行:rabbitmq-server start (用户关闭连接后,自动结束进程)
- 后台运行:rabbitmq-server -detached
6、好了,到这里rabbitmq已经配置好了,可以启动了:
- 我们再来查看看一下rabbitmq的默认监听端口5672:
- #netstat -tnlp|grep 5672
- 最好我们就可以在浏览器上输入http://ip:15672/登录管理界面了:
- 使用登录的名户名和密码默认都算guest,登录后的页面如下:
- 另一台机器访问rabbitmq(就是本机之外),需要打开15672端口
- #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