windows WSL 中安装rabbitmq + python 调用实例:坑与终极解决方案
一 、erlang
rabbitmq运行需要运行在erlang的环境中,不管是在window上安装rabbitmq还是linux,都需要首先安装erlang环境。本文由于作者使用的是window10上面的wsl进行开发的,所有在windows上开发,在wsl上部署运行环境,一举两得。但是无奈wsl坑位众多,作者本着有坑必填的态度,写下了这篇博文。
文中索要用到的东西我都一起打包放到了老狗盘,供大家取用。
1.1 erlang依赖环境安装之前须看重点
由于wsl是基于ubuntu的系统(说的再底层一点,就是已于debian的系统,所以本文使用的命令都是Ubuntu的命令,其它系统的请参照。:
- 下载erlang的安装包 :坑1:erlang和rabbitmq版本不匹配坑,如果你根据其它的帖子已经安装好了rabbitmq,但是怎么都收不到收据,你就可以考虑重新安装一遍了。很大程度上是rabbitmq自身的一些bug导致的,因为我最开始是根据下面的方式安装的:
sudo apt update
sudo apt -y install erlang
sudo apt -y install rabbitmq-server
这样就安装上了,启动根据https://blog.csdn.net/weixin_45590490/article/details/107715691这篇帖子里面说的,向配置文件里面添加了
listeners.tcp.default = 5672
listeners.tcp.local = 127.0.0.1:5672
注意:通过上面方式安装的配置文件在/etc/rabbitmq/rabbitmq-env.conf里面
配置文件位置:
配置文件:
这样安装好确实可以启动,也能连的上,但是问题是消费者收不到消息,不知道为什么。后面据我观察应该是这样默认安装的rabbitmq和erlang的版本不匹配,或者是erlang的版本太老了。
查看下面的图,根据自己想要安装的rabbitmq选择安装的erlang版本:
1.2 erlang依赖环境安装步骤
erlang安装步骤:
1、去这个网站下载erlang :
https://www.erlang-solutions.com/resources/download.html,因为我想要安装的rabbitmq版本是3.8.8,据我不完全估计,最好不要装3.6.10这个版本,新版本更好,老版本bug多。所以我下载的erlang的版本是:esl-erlang_23.1.2-1_ubuntu_xenial_amd64.deb
2、下载好了之后按以下步骤操作:
第一步:apt-get -f install 安装需要的依赖
第二步:dpkg -i esl-erlang_23.1.2-1_ubuntu_xenial_amd64.deb 安装erlang
第三步:erl 验证是否安装成功,如果在命令行输入erl,显示如下,那就是安装成功了。图中红色位erlang版本号。
坑2:如果安装过erlang, 在上面第二步可能会出错,大概意思就是缺少各种包,rabbitmq正在运行等等:erlang-odbc depends on erlang-base (= +dfsg-1ubuntu2) | erlang-base-hipe (=,这是因为erlang环境或者是rabbitmq环境还在运行,安装不成功,所以需要先把这些进程清理掉。采用如下方式清理:https://www.cnblogs.com/Sisiflying/p/6386988.html
查看erlang和rabbitmq正在运行的进程,相关的能kill的全部kill掉,然后在重新运行上面三步,应该就能安装成功。
确保erlang安装成功后,进行下面的rabbitmq的安装。
二 、rabbitmq
rabbitmq 我采用的是下载安装包,在本地进行安装,这种方式比较灵活。
下载地址:https://www.rabbitmq.com/install-debian.html
根据第一部分我给的erlang和rabbitmq匹配图进行选择版本。
2.1 rabbitmq环境安装
- 第一步:使用转换为tar格式的文件
xz -d rabbitmq-server-generic-unix-latest-toolchain-3.8.8.tar.xz
- 第二步:使用解压文件
tar -xvf rabbitmq-server-generic-unix-latest-toolchain-3.8.8.tar
- 第三步:把rabbitmq的文件放到你想存放的地方,使用pwd查看rabbitmq文件的sbin目录的绝对路径,然后在profile文件配置下环境变量,目的是为了可以直接敲rabbitmq-server就可启动
vim /etc/profile
在末尾添加下面两个配置:
export PATH