做了5年多的开发,今天回想期间遇到过大大小小无数的问题,很多都是经过持续的排查、分析解决问题,也要很多是直接百度,知其然不知其所以然。但不管是哪种方式,自己都没有做到整理记录,回想很多都记不清了,忘记了也挺可惜的,就准备开始写写自己的博客。
有几点好处:1、是可以记录自己遇到的问题,下次在出现才能有迹可循;2、是每次发博客可以促进自己进一步分析,更深入的了解相关领域的知识;3、可以将这些问题通过网络分享给更多的人,帮助和我遇到共同问题,或者是有相同兴趣爱好的朋友,可以一起探讨。
进入今天的正题,最近突发奇想,想学学rabbitmq,但是安装过程中也出现了一些问题。作为程序员肯定需要将它安装到linux吧,翻出家里的老电脑,首先装了一VMware虚拟机,系统选择了CentOS。系统安装完后发现竟然没有网卡,倒腾了半天发现32位系统是默认没有网卡配置的,只有64位的系统才有,怎么办呢,虚拟机有一个核心配置文件xxxx.vmx,在这个里边添加 ethernet0.virtualDev = "e1000" 虚拟网卡,终于能用了。里边还有很多配置和介绍,可以到 http://sanbarrow.com/vmx/vmx-network.html 查看详细信息。
开始安装rabbitmq了,想用yum吧,貌似32位系统现在确实不太受待见,找不到安装文件,只能源码安装了。按照网上的教程,安装了 kernel-devel m4 ncurses-devel openssl-devel 然后是erlang,最后是rabbitmq,可是在全部安装完后,添加rabbitmq-management插件,但是报错了
throw:{error,{missing_dependencies,[crypto,ssl],
[amqp10_client,cowboy,cowlib,rabbitmq_aws,
rabbitmq_management,
rabbitmq_management_agent,rabbitmq_shovel,
rabbitmq_trust_store]}}
为什么会缺失crypto和ssl呢,百度,发现缺失了erlang-ssl但是yum找不到!!!肯能还是和32位系统有关。终于找到了这个帖子 http://blog.csdn.net/mycwq/article/details/39524847,在配置open-ssl后在Makefile中的CFLAG配置项后边添加 -fPIC参数。-fPIC表明使用地址无关代码,PIC:Position Independent Code(至于这里为什么必须添加这个参数,还是看不太明白,后边有时间学习下linux编程知识吧)
wget http://www.openssl.org/source/openssl-1.0.1i.tar.gz
tar -zxf openssl-1.0.1i.tar.gz
cd openssl-1.0.1i
./config --prefix=/home/ssl
sed -i "s|CFLAG= |CFLAG= -fPIC |" Makefile
make && make install
在配置安装erlang时指定刚才安装的open-ssl地址
./configure --with-ssl=/home/ssl/ --prefix=/home/erl
终于看到了rabbitmq的管理台了。