当前版本:CentOS7
、rabbitmq-server-generic-unix-3.8.3
、otp_src_22.3
1.声明
当前内容主要用于本人学习和复习之用,当前内容主要为在CentOS7下面安装RabbitMQ,处理其中出现的问题
2.下载和解压rabbitmq
直接下载
wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.3/rabbitmq-server-generic-unix-3.8.3.tar.xz
解压
tar -xvif rabbitmq-server-generic-unix-3.8.3.tar.xz
3.下载和配置erlang
下载(建议使用迅雷下载,linux中下载太慢了)
wget http://erlang.org/download/otp_src_22.3.tar.gz
解压
tar -xvif otp_src_22.3.tar.gz
第一次尝试配置
cd otp_src_22.3/
./configure
出现错误
No curses library functions found ERROR: /home/hy/otp_src_22.3/erts/configure failed!
说是缺少curses library
安装curses library
yum -y install ncurses-devel
再次执行./configure
发现缺少OpenSSL和ODBC
安装OpenSSL和ODBC
yum -y install openssl-devel
yum install unixODBC-devel.x86_64
最后执行一次
./configure --without-javac
此时发现没有FAIL了
进行编译(直接执行):make
查看结果:
在这里我们就发现了编译成功,就是说只需要配置环境变量即可使用了
配置环境变量
可以直接使用erl那就表示erl配置成功了
4.配置和启动RabbitMQ
配置ui界面的RabbitMQ(进入rabbit的sbin中)
./rabbitmq-plugins enable rabbitmq_management
启动rabbitMq
./rabbitmq_server
访问结果
5.开放rabbitMQ给外界访问
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --zone=public --add-port=5672/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --reload
结果
注意:当前登录不能使用guest进行登录,guest只允许在localhost中登录(即linux中登录)
我们直接创建一个root用于分配管理员权限,然后再本机windows中登录
6.测试是否能使用
测试创建queue
public class QueueCreateTest {
public static void main(String[] args) throws Exception {
RabbitMqUtils mqUtils = new RabbitMqUtils("192.168.126.130", 5672,"root","密码");
Connection conn = mqUtils.getConnection();
Channel channel = conn.createChannel();
DeclareOk declareOk = channel.queueDeclare("hello-linux-queue", true, false, false, null);
System.out.println(declareOk);
}
}
测试成功
7.总结
1.开放rabbitmq端口后,本地的linux是可以通过guest访问的,但是windows中不能使用guest访问,需要创建一个用户后放可以访问
2.linux中的erlang不需要安装,直接像windows中配置环境变量就可以用了
3.linux中的rabbitmq只需要能够使用erl就可以了
以上纯属个人见解,如有问题请联本人!