RabbitMQ安装:
1、下载rabbitmq安装包:
[root@localhost tools]# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.0/rabbitmq-server-3.6.0-1.noarch.rpm

2、因为rabbitmq是基于erlang环境的,所以要先安装erlang环境:
输入网址下载otp_src_19.1.tar.gz:http://www.erlang.org/downloads/

3、安装erlang环境:

[root@localhost tools]# tar xf otp_src_19.1.tar.gz
[root@localhost tools]# cd otp_src_19.1
[root@localhost otp_src_19.1]#

在配置erlang之前先安装所需的依赖:

[root@localhost otp_src_19.1]# yum -y install ncurses-devel gcc gcc-c++ unixODBC unixODBC-devel openssl openssl-devel java* ##如果没安装java的话要一起安装

开始配置erlang:

[root@localhost otp_src_19.1]# ./configure --prefix=/usr/local/erlang --enable-smp-support --enable-threads --enable-sctp --enable-kernel-poll --enable-hipe --with-ssl
[root@localhost otp_src_19.1]# make &&make install

4、配置环境变量:

[root@localhost otp_src_19.1]# vim /etc/profile ##在文件的最下面加上如下内容
ERL_HOME=/usr/local/erlang 
PATH=$ERL_HOME/bin:$PATH 
export ERL_HOME PATH

5、配置完成后测试:

[root@localhost ]# cd /usr/local/erlang/bin/
[root@localhost bin]# ./erl
Erlang/OTP 19 [erts-8.1] [source] [64-bit] [smp:24:24] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V8.1 (abort with ^G)
1> 
1> ##进入这个模式算成功,输入halt().退出;

6、安装rabbitmq:

[root@localhost tools]# rpm -ivh --nodeps rabbitmq-server-3.6.0-1.noarch.rpm ##忽略依赖安装rabbitmq的rpm包;
warning: rabbitmq-server-3.6.0-1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID 056e8e56: NOKEY
Preparing... ########################################### [100%]
1:rabbitmq-server ########################################### [100%]
安装成功;

[root@localhost tools]# /etc/init.d/rabbitmq-server start ##这样直接启动的话会报下面的错;
Starting rabbitmq-server: FAILED - check /var/log/rabbitmq/startup_{log, _err}
rabbitmq-server.

可以的话可以用chkconfig rabbitmq-server on 这条命令加入到开机自启动中去;

[root@localhost tools]# ln -s /usr/local/erlang/bin/erl /usr/bin/erl ##输入这条命令解决上面的错误;
[root@localhost tools]# /etc/init.d/rabbitmq-server start ##在启动一次;
Starting rabbitmq-server: SUCCESS
rabbitmq-server.

检查端口:

[root@localhost tools]# netstat -utpln|grep beam.smp ##出现下面三个算正确;
tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 6352/beam.smp 
tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN 6352/beam.smp 
tcp 0 0 :::5672 :::* LISTEN 6352/beam.smp

7、启用维护插件:

[root@localhost tools]# rabbitmq-plugins enable rabbitmq_management ##出现下面的情况就算正确了;
The following plugins have been enabled:
mochiweb
webmachine
rabbitmq_web_dispatch
amqp_client
rabbitmq_management_agent
rabbitmq_management
Applying plugin configuration to rabbit@localhost... started 6 plugins.

8、采用浏览器登录:
http://x.x.x.x:15672/ ##ip加端口的方式;

如果登录成功就算大功告成,如果输入用户名密码不能登录则执行如下操作:

[root@localhost ~]# vim /etc/rabbitmq/rabbitmq.config ##创建一个配置文件,写入下面的内容;
[{rabbit, [{loopback_users, []}]}].

9、基本的用户管理:

新建用户:rabbitmqctl add_user  username   password

删除用户: rabbitmqctl delete_user  username

改密码: rabbimqctl change_password {username} {newpassword}

设置用户角色:rabbitmqctl set_user_tags {username} {tag ...}


遇到的问题:
生产中rabbitmq重启不了,能关闭,但不能启动,解决办法:

[root@localhost rabbitmq]# ps -ef|grep rabbitmq ##查看rabbitmq的所有进程;
rabbitmq 4776 1 0 Oct12 ? 00:00:22 /usr/local/erlang/lib/erlang/erts-8.1/bin/epmd -daemon
root 6057 1 0 Oct12 ? 00:00:00 /bin/sh /etc/init.d/rabbitmq-server restart
root 6059 6057 0 Oct12 ? 00:00:00 /bin/bash -c ulimit -S -c 0 >/dev/null 2>&1 ; /usr/sbin/rabbitmq-server
root 6061 6059 0 Oct12 ? 00:00:00 /bin/sh /usr/sbin/rabbitmq-server
root 6080 6061 0 Oct12 ? 00:00:00 su rabbitmq -s /bin/sh -c /usr/lib/rabbitmq/bin/rabbitmq-server 
rabbitmq 6083 6080 0 Oct12 ? 00:00:00 /bin/sh -e /usr/lib/rabbitmq/bin/rabbitmq-server
rabbitmq 6352 6083 16 Oct12 ? 6-04:34:50 /usr/local/erlang/lib/erlang/erts-8.1/bin/beam.smp -W w -A 64 -P 1048576 -K true -B i -- -root /usr/local/erlang/lib/erlang -progname erl -- -home /var/lib/rabbitmq -- -pa /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.0/ebin -noshell -noinput -s rabbit boot -sname rabbit@localhost -boot start_sasl -config /etc/rabbitmq/rabbitmq -kernel inet_default_connect_options [{nodelay,true}] -sasl errlog_type error -sasl sasl_error_logger false -rabbit error_logger {file,"/var/log/rabbitmq/rabbit@localhost.log"} -rabbit sasl_error_logger {file,"/var/log/rabbitmq/rabbit@localhost-sasl.log"} -rabbit enabled_plugins_file "/etc/rabbitmq/enabled_plugins" -rabbit plugins_dir "/usr/lib/rabbitmq/lib/rabbitmq_server-3.6.0/plugins" -rabbit plugins_expand_dir "/var/lib/rabbitmq/mnesia/rabbit@localhost-plugins-expand" -os_mon start_cpu_sup false -os_mon start_disksup false -os_mon start_memsup false -mnesia dir "/var/lib/rabbitmq/mnesia/rabbit@localhost" -kernel inet_dist_listen_min 25672 -kernel inet_dist_listen_max 25672
rabbitmq 6450 6352 0 Oct12 ? 00:01:11 erl_child_setup 1024
root 15487 18994 0 11:01 pts/0 00:00:00 grep rabbitmq

通过一系列的kill杀死,总之是全部干掉一个不留;

[root@localhost rabbitmq]# pkill rabbitmq
[root@localhost rabbitmq]# kill -9 4776
[root@localhost rabbitmq]# kill -9 6352 
[root@localhost rabbitmq]# netstat -utpln ##端口没有了;
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name 
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1697/master 
tcp 0 0 0.0.0.0:59878 0.0.0.0:* LISTEN 2389/sshd 
tcp 0 0 ::1:25 :::* LISTEN 1697/master 
tcp 0 0 :::59878 :::* LISTEN 2389/sshd

再次启动:

[root@localhost ~]  /etc/init.d/rabbitmq-server start
Starting rabbitmq-server: SUCCESS   ##启动成功
rabbitmq-server.

查看端口:

[root@localhost ~]# netstat -utpln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name 
tcp 0 0 0.0.0.0:4369 0.0.0.0:* LISTEN 15944/epmd 
tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 16286/beam.smp 
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1697/master 
tcp 0 0 0.0.0.0:59878 0.0.0.0:* LISTEN 2389/sshd 
tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN 16286/beam.smp 
tcp 0 0 :::4369 :::* LISTEN 15944/epmd 
tcp 0 0 ::1:25 :::* LISTEN 1697/master 
tcp 0 0 :::59878 :::* LISTEN 2389/sshd 
tcp 0 0 :::5672 :::* LISTEN 16286/beam.smp

  

posted on 2017-04-13 10:48  花豆豆  阅读(239)  评论(0编辑  收藏  举报