❶ 在linux下安装rabbitmq失败怎么解决
RabbitMQ 是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成,因此也是继承了这些优点。
AMQP 里主要要说两个组件:Exchange 和 Queue (在 AMQP 1.0 里还会有变动),如下图所示,绿色的 X 就是 Exchange ,红色的是 Queue ,这两者都在 Server 端,又称作 Broker ,这部分是 RabbitMQ 实现的,而蓝色的则是客户端,通常有 Procer 和 Consumer 两种类型:
1:mq的安装需要Erlang,所以首先下载Erlang,下载地址:http://www.erlang.org/download.html直接下载源码,编译安装即可。
将下载好的tar包解压编译安装,如下命令:
tar -zxvf otp_src_R16B03-1.tar.gz
cd otp_src_R16B03-1
./configure && make install
安装过程中可能出现如下错误:
configure:error:
No curses library functions found
configure: error:/bin/sh'/home/niewf/software/erlang_R13B01/erts/configure'
failed for erts
解决方法:
yum list|grep ncurses
yum -y install ncurses-devel
yum install ncurses-devel
或者直接下载ncurses包编译安装。
下载地址:http://download.chinaunix.net/download/0008000/7242.shtml
tar zxvf ncurses.tar.gz #解压缩并且释放 文件包
cd ncurses #进入解压缩的目录(注意版本)
./configure #按照你的系统环境制作安装配置文件
make #编译源代码并且编译NCURSES库
su root #切换到root用户环境
make install #安装编译好的NCURSES库
完成后继续返回上一步操作。
2:安装python,如果系统中python版本低于2.5的话需要升级python到2.6以上,具体可参考:http://gavinshaw.blog.51cto.com/385947/610585
3:安装simplejson,直接下载simplejson源码包编译安装即可,下载地址:https://pypi.python.org/pypi/simplejson/。
下载simplejson源码包后,运行python setup.py install即可完成安装。
4:安装rabbit mq,下载地址:https://www.rabbitmq.com/install-generic-unix.html
下载后放入相应目录解压,进入%RABBITMQ_HOME%/sbin目录下运行:./rabbitmq-server start即可启动mq。
如果遇到如下错误,则参考http://leeon.me/a/rabbitmq-start-fail-note解决方案
ERROR: epmd error for host "xxx": address (cannot connect to host/port)
到此mq已经安装完成。
在%RABBITMQ_HOME%/sbin目录运行./rabbitmqctl status可查看当前mq状态。
同时mq也提供了界面查看当前mq状态,但是需要启用该插件功能,运行如下命令:
rabbitmq-plugins enable rabbitmq_management,然后在浏览器中输入:http://host-name:15672/#/即可访问,页面结果如下:
❷ 如何linux服务器 telnet activemq
ActiveMQ是一款流行的Message服务器,在Windows开发环境下,一般可以直接运行命令行,或者在Spring中以嵌入式启动。在生产环境中,ActiveMQ需要在Linux上部署,以下是快速安装步骤。
1) 安装JDK 6:
# apt-get install sun-java6-jdk
2) 下载activemq Linux二进制版本,解压:
# wget http://labs.renren.com/apache-mirror//activemq/apache-activemq/5.4.2/apache-activemq-5.4.2-bin.tar.gz
# tar zxvf /path/to/apache-activemq-5.4.2-bin.tar.gz /opt/
# ln -s /opt/apache-activemq-5.4.2 /opt/activemq
以上用人人网的镜像下载,然后在/opt/activemq创建了软链接。
3) 修改启动脚本/opt/activemq/bin/activemq,将开头处改为:
#!/bin/sh
### BEGIN INIT INFO
# Provides: activemq
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 6
# Short-Description: ActiveMQ server
### END INIT INFO
然后创建软链接:
# ln -s /opt/activemq/bin/activemq /etc/init.d/
4) 启动activemq:
# /etc/init.d/activemq start
由于已经添加了必要的注释,下次Linux启动时会自动启动ActiveMQ。
❸ Linux下RabbitMQ详细安装流程
本文章选取的服务器操作系统:CentOS 7版本;
在 /etc/yum.repos.d/ 目录下添加 .repo 文件(例如:rabbitmq-erlang.repo),因发行版的不同,文件内容也有区别,以下是Centos 7 的配置:
在 /etc/yum.repos.d/ 目录下添加 .repo 文件(例如:rabbitmq.repo),因发行版的不同,文件内容也有区别,以下是Centos 7 的配置:
进入 /etc/systemd/system 或者/usr/lib/systemd/system,并创建rabbitmq-server.service 文件。
注意:通过 yum 安装的,已经在 /usr/lib/systemd/system 目录下存在rabbitmq-server.service 文件。
❹ linux下安装MQ mqlisence.sh-accept这个命令执行不了怎么办
需要增加执行权限,具体的操作大致是:
增加权限:
chmod +x mqlisence.sh
执行:
./mqlisence.sh -accept
❺ 怎么在Ubuntu linux系统上安装和使用RabbitMQ
到www dot rabbitmq dot com下载 /releases/rabbitmq-server/v3.6.6/rabbitmq-server_3.6.6-1_all.deb 安装文件,然后在root权限下运行 dpkg -i rabbitmq-server_3.6.6-1_all.deb
或者添加自定义软件源:
echo 'deb http://www.rabbitmq.com/debian/ testing main' |
sudo tee /etc/apt/sources.list.d/rabbitmq.list
添加源的加密公钥
wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc |
sudo apt-key add -
更新源
sudo apt-get update
通过软件库安装软件
sudo apt-get install rabbitmq-server
❻ linux系统如何启动mq
开篇之前奉上几条黄金链接:
MQ参考文档
http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0m0/index.jsp?topic=%2Fcom.ibm.mq.doc%2Fhelp_home_wmq.htm
http://www-01.ibm.com/support/docview.wss?uid=swg27006467
MQ下载地址:http://www-03.ibm.com/software/procts/us/en/wmq/
安装的MQ软件包为WMQv600Trial-x86_linux_2.tar.gz. 将WMQv600Trial-x86_linux_2.tar.gz解压至某一目录。
(1)执行接受许可脚本: ./mqlicense.sh –accept 这个脚本是要安装WebSphere MQ 软件包的MQ许可程序. 至关重要,这个脚本没有正确配置的话将导致MQ安装失败.–accept是不启动图形直接接受许可。
(2) 安装 WebSphere MQ for Linux 服务器:
[root@localhost mq]# rpm-ivh MQSeriesRuntime-6.0.0-0.i386.rpm
[root@localhost mq]# rpm-ivh MQSeriesSDK-6.0.0-0.i386.rpm
[root@localhost mq]# rpm-ivh MQSeriesServer-6.0.0-0.i386.rpm
注:安装完成后,相关文件会被自动安装在/opt/mqm下,在安装
MQSeriesRuntime-6.0.0-0.i386.rpm时候,安装程序为系统自动创建了一个mqm用户和mqm组,安装完毕后,需要使用该用户来进行MQ的配置。
(3) 安装 WebSphere MQ for Linux 客户端:
[root@localhost mq]# rpm-ivh MQSeriesClient-6.0.0-0.i386.rpm
(4) 安装 WebSphere MQ 样本程序(其中包括amqsput、amqsget、amqsgbr和amqsbcg等)
[root@localhost mq]# rpm-ivh MQSeriesSamples-6.0.0-0.i386.rpm 样本程序安装在/opt/mqm/samp/bin 中。
(5)安装MQ其他软件包
[root@localhost mq]# rpm-ivh MQSeriesMan-6.0.0-0.i386.rpm
[root@localhost mq]# rpm-ivh MQSeriesJava-6.0.0-0.i386.rpm
[root@localhost mq]# rpm-ivh IBMJava2-SDK-1.4.2-0.0.i386.rpm
上面最后一步安装的是JDK运行环境,如果已经有相同或更高版本的JDK,不需要再安装。 (6) 安装过程创建了一个名为mqm 的用户和一个同样名为mqm 的组,此时,新用户是被锁定的,必须设置一个密码来解锁,这样才能正常使用该用户。用passwd 命令:
[root@localhost mq]# passwd mqm 以上操作均在root用户下操作,至此MQ6.0安装结束。MQ的配置相关命令操作均在mqm用户下。
注意:
如果执行crtmqm命令时提示
-bash-3.2$ crtmqm
-bash: crtmqm: command not found
则需要配置mqm用户的环境变量,编辑如下文件,并添加下面的内容,如下:
第一种方法: 相对第二种较安全 仅对 mqm用户有效
1)-bash-3.2$ vi /var/mqm/.bash_profile
PATH=$PATH:/opt/mqm/samp/bin:/opt/mqm/bin:bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
2)执行“.”命令,使这个文件生效
-bash-3.2$ . .bash_profile
3)再次尝试实行crtmqm或是dspmqm命令,即可发现已经生效。
第二种方法:
1、su root
2、vim /etc/profile
3、在最后面加上:PATH=$PATH:/opt/mqm/samp/bin:/opt/mqm/bin:bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
4、关闭远程终端重新打开,无需重启服务器
5、ok了!!
了解更多开源相关,去LUPA社区看看吧。
❼ linux怎么安装rabbitmq
RabbitMQ 安装
# Install from EPEL
[root@vdevops~]# yum --enablerepo=epel -y install rabbitmq-server
[root@vdevops~]# systemctl start rabbitmq-server
[root@vdevops /]# journalctl -xe
Nov 12 01:30:01 vdevops.org CROND[3856]: (root) CMD (/usr/lib64/sa/sa1 1 1)
Nov 12 01:30:04 vdevops.org rabbitmqctl[3831]: DIAGNOSTICS
Nov 12 01:30:04 vdevops.org rabbitmqctl[3831]: ===========
Nov 12 01:30:04 vdevops.org rabbitmqctl[3831]: attempted to contact: [rabbit@vdevops]
Nov 12 01:30:04 vdevops.org rabbitmqctl[3831]: rabbit@vdevops:
Nov 12 01:30:04 vdevops.org rabbitmqctl[3831]: * unable to connect to epmd (port 4369) on vdevops: timeout (timed out)
Nov 12 01:30:04 vdevops.org rabbitmqctl[3831]: current node details:
Nov 12 01:30:04 vdevops.org rabbitmqctl[3831]: - node name: rabbitmqctl3831@vdevops
Nov 12 01:30:04 vdevops.org rabbitmqctl[3831]: - home dir: /var/lib/rabbitmq
Nov 12 01:30:04 vdevops.org rabbitmqctl[3831]: - cookie hash: s++dDMtIhAufFItw+ercBw==
Nov 12 01:30:04 vdevops.org polkitd[1007]: Unregistered Authentication Agent for unix-process:3798:36632 (system bus name :1.23, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected f
Nov 12 01:30:04 vdevops.org systemd[1]: rabbitmq-server.service: control process exited, code=exited status=2
Nov 12 01:30:04 vdevops.org systemd[1]: Failed to start RabbitMQ broker.
-- Subject: Unit rabbitmq-server.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit rabbitmq-server.service has failed.
--
-- The result is failed.
Nov 12 01:30:04 vdevops.org systemd[1]: Unit rabbitmq-server.service entered failed state.
Nov 12 01:30:04 vdevops.org systemd[1]: rabbitmq-server.service failed.
Nov 12 01:30:42 vdevops.org systemd[1]: Got automount request for /proc/sys/fs/binfmt_misc, triggered by 3860 (find)
Nov 12 01:30:42 vdevops.org systemd[1]: Mounting Arbitrary Executable File Formats File System...
-- Subject: Unit proc-sys-fs-binfmt_misc.mount has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit proc-sys-fs-binfmt_misc.mount has begun starting up.
Nov 12 01:30:42 vdevops.org systemd[1]: Mounted Arbitrary Executable File Formats File System.
-- Subject: Unit proc-sys-fs-binfmt_misc.mount has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit proc-sys-fs-binfmt_misc.mount has finished starting up.
--
-- The start-up result is done.
rabbitmq-server启动报错:Failed to start RabbitMQ broker
度娘解析:主机hostname配置错误,原本hostname为vdevops.org,更改为vdevops,修改hosts文件中hostname设置
[root@vdevops /]# hostnamectl set-hostname vdevops # hostname更改重启启动rabbitmq-server
[root@vdevops /]# systemctl status rabbitmq-server
● rabbitmq-server.service - RabbitMQ broker
Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2016-11-12 01:32:41 CST; 3min 58s ago
Process: 3831 ExecStop=/usr/lib/rabbitmq/bin/rabbitmqctl stop (code=exited, status=2)
Main PID: 3891 (beam)
CGroup: /system.slice/rabbitmq-server.service
├─3891 /usr/lib64/erlang/erts-5.10.4/bin/beam -W w -K true -A30 -P 1048576 -- -root /usr/lib64/erlang -progname erl -- -home /var/lib/rabbitmq -- -pa /usr/lib/rabbitmq/lib/rabbitmq_server-3.3.5/sbin/../ebin -nos...
├─3908 /usr/lib64/erlang/erts-5.10.4/bin/epmd -daemon
├─3963 inet_gethost 4
└─3964 inet_gethost 4
Nov 12 01:32:39 vdevops systemd[1]: Starting RabbitMQ broker...
Nov 12 01:32:39 vdevops systemd[1]: rabbitmq-server.service: Got notification message from PID 3908, but reception only permitted for main PID 3891
Nov 12 01:32:40 vdevops rabbitmq-server[3891]: RabbitMQ 3.3.5. Copyright (C) 2007-2014 GoPivotal, Inc.
Nov 12 01:32:40 vdevops rabbitmq-server[3891]: ## ## Licensed under the MPL. See http://www.rabbitmq.com/
Nov 12 01:32:40 vdevops rabbitmq-server[3891]: ## ##
Nov 12 01:32:40 vdevops rabbitmq-server[3891]: ########## Logs: /var/log/rabbitmq/[email protected]
Nov 12 01:32:40 vdevops rabbitmq-server[3891]: ###### ## /var/log/rabbitmq/[email protected]
Nov 12 01:32:40 vdevops rabbitmq-server[3891]: ##########
Nov 12 01:32:41 vdevops systemd[1]: Started RabbitMQ broker.
Nov 12 01:32:41 vdevops rabbitmq-server[3891]: Starting broker... completed with 0 plugins.
[root@vdevops~]# systemctl enable rabbitmq-server
Created symlink from /etc/systemd/system/multi-user.target.wants/rabbitmq-server.service to /usr/lib/systemd/system/rabbitmq-server.service.
防火墙设置
[root@linuxprobe~]# firewall-cmd --add-port=5672/tcp --permanent
success
[root@linuxprobe~]# firewall-cmd --reload
success
要使用RabbitMQ,请先添加用户
[root@vdevops ~]# rabbitmqctl add_user linuxprobe password
Creating user "linuxprobe" ...
...done.
[root@vdevops ~]# rabbitmqctl list_users
Listing users ...
guest [administrator]
linuxprobe []
...done.
# granting admin role to a user is like follows
[root@vdevops ~]# rabbitmqctl change_password linuxprobe strongpassword
Changing password for user "linuxprobe" ...
...done.
# granting admin role to a user is like follows
[root@vdevops ~]# rabbitmqctl set_user_tags linuxprobe administrator
Setting tags for user "linuxprobe" to [administrator] ...
...done.
# deleting a user is like follows
[root@vdevops ~]# rabbitmqctl delete_user linuxprobe
Deleting user "linuxprobe " ...
...done.
要使用RabbitMQ,也要添加虚拟主机
[root@vdevops ~]# rabbitmqctl add_vhost /my_vhost
Creating vhost "/my_vhost" ...
...done.
[root@vdevops ~]# rabbitmqctl list_vhosts
Listing vhosts ...
/
/my_vhost
...done.
[root@vdevops ~]# rabbitmqctl delete_vhost /my_vhost
Deleting vhost "/my_vhost" ...
...done.
给虚拟主机的用户授予权限,请如下配置
# rabbitmqctl set_permissions [-p vhost] [user] [permission ? (modify) (write) (read)]
[root@vdevops ~]# rabbitmqctl set_permissions -p /my_vhost linuxprobe ".*" ".*" ".*"
Setting permissions for user "linuxprobe" in vhost "/my_vhost" ...
...done.
#
[root@vdevops ~]# rabbitmqctl list_user_permissions linuxprobe
Listing permissions for user "linuxprobe" ...
/my_vhost .* .* .*
...done.
# deleting permission of a specific user is like follows
[root@vdevops ~]# rabbitmqctl clear_permissions -p /my_vhost linuxprobe
Clearing permissions for user "linuxprobe" in vhost "/my_vhost" ...
...done.
RabbitMQ:使用Web UI
[root@vdevops ~]# rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
mochiweb
webmachine
rabbitmq_web_dispatch
amqp_client
rabbitmq_management_agent
rabbitmq_management
Plugin configuration has changed. Restart RabbitMQ for changes to take effect.
[root@vdevops ~]# systemctl restart rabbitmq-server
客户端访问
http://vdevops:15672/
rabbitmqadmin使用
可以配置RabbitMQ使用rabbitmqadmin命
在Web UI上下载rabbitmqadmin。 登录到Web UI并移动到“http://(主机名或IP地址):15672 /
cli”,然后显示以下屏幕,您可以在这里下载rabbitmqadmin,点击here右键保存rabbitmqadmin.txt,然后上传到服务器上面更改为rabbitmqadmin,并添加执行权限
将rabbitmqadmin上传到RabbitMQ服务器并设置合适的权限,此示例显示如下设置
[root@localhost ~]# ll /usr/local/bin/rabbitmqadmin
-rwxr-xr-x. 1 root root 36112 Nov 11 17:23 /usr/local/bin/rabbitmqadmin
[root@vdevops bin]# rabbitmqadmin list users
+------------+------------------------------+---------------+
| name | password_hash | tags |
+------------+------------------------------+---------------+
| guest | k2rhpzCrZBKkY5WRhUWrGm5DCkg= | administrator |
| linuxprobe | P+YxK1QXIYrJpek5i//rPjn5SME= | administrator |
+------------+------------------------------+---------------+
[root@vdevops bin]# cd
[root@vdevops ~]# rabbitmqadmin list users
+------------+------------------------------+---------------+
| name | password_hash | tags |
+------------+------------------------------+---------------+
| guest | k2rhpzCrZBKkY5WRhUWrGm5DCkg= | administrator |
| linuxprobe | P+YxK1QXIYrJpek5i//rPjn5SME= | administrator |
+------------+------------------------------+---------------+
[root@vdevops ~]# rabbitmqadmin list vhosts
+-----------+---------+
| name | tracing |
+-----------+---------+
| / | False |
| /my_vhost | False |
+-----------+---------+
详细可以参考http://www.linuxprobe.com/centos-deploy-rabbitmq.html