简单记录下,信创服务器:麒麟系统,安装rabbitmq的踩坑记录。
本文章参考了很多大佬文章,我整理后提供。
一、安装基础依赖
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC-devel
二、下载安装包
注意:如果你系统没有网络的话,需要离线下载好安装包,然后拷贝进去安装即可。
erlang | http://erlang.org/download/otp_src_20.3.tar.gz |
unixODBC | http://www.unixodbc.org/unixODBC-2.3.7.tar.gz |
rabbitMq | https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.7.8/rabbitmq-server-generic-unix-3.7.8.tar.xz |
2.1、 安装unixODBC
tar -xvf unixODBC-2.3.7.tar.gz
cd unixODBC-2.3.7
./configure --prefix=/usr/local/unixODBC-2.3.7 --includedir=/usr/include --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etc
//这是编译和安装
make && make install
2.2、这里记得一定要安装openssl ,不然当你启动rabbitmq的时候,会报以下错误:
BOOT FAILED
===========
Error description:
{error,{missing_dependencies,[crypto,ssl],
[cowboy,cowlib,rabbitmq_management,
rabbitmq_management_agent,
rabbitmq_trust_store]}}
Log files (may contain more information):
/usr/local/rabbitmq/var/log/rabbitmq/rabbit@rabbitmq.log
/usr/local/rabbitmq/var/log/rabbitmq/rabbit@rabbitmq-sasl.log
Stack trace:
[{rabbit_plugins,ensure_dependencies,1,
[{file,"src/rabbit_plugins.erl"},{line,185}]},
{rabbit_plugins,prepare_plugins,1,
[{file,"src/rabbit_plugins.erl"},{line,203}]},
{rabbit,broker_start,0,[{file,"src/rabbit.erl"},{line,300}]},
{rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,424}]},
{init,start_em,1,[]},
{init,do_boot,3,[]}]
{"init terminating in do_boot",{error,{missing_dependencies,[crypto,ssl],[cowboy,cowlib,rabbitmq_management,rabbitmq_management_agent,rabbitmq_trust_store]}}}
init terminating in do_boot ({error,{missing_dependencies,[crypto,ssl],[cowboy,cowlib,rabbitmq_management,rabbitmq_management_agent,rabbitmq_trust_store]}})
Crash dump is being written to: erl_crash.dump...done
三、安装openssl
cd /usr/local/src
wget http://www.openssl.org/source/openssl-1.0.1s.tar.gz
tar -zvxf openssl-1.0.1s.tar.gz
cd openssl-1.0.1s
./config --prefix=/usr/local/openssl
vi Makefile
使用/搜索CFLAG 添加如下图所示,其实就是添加-fPIC
make && make install
四、 安装erlang20.3.x
tar -xvf otp_src_20.3.tar.gz
cd otp_src_20.3
./configure --prefix=/usr/local/erlang --with-ssl=/usr/local/openssl --enable-threads --enable-smp-support --enable-kernel-poll --enable-hipe --without-javac
make && make install
4.1、 设置环境变量
vim /etc/profile
添加如下内容:
export PATH=$PATH:/usr/local/erlang/bin
修改完毕后,使该配置文件生效
source /etc/profile
4.2、 运行
安装完成后测试erlang是否能正常运行,终端输入erl
erl
4.3、验证下erlang是否支持ssl
在erl中执行crypto:start().,如果返回ok,则安装成功!
五、安装rabbitmq
解压下载好的rabbitmq-server-generic-unix-3.7.8.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.7.8.tar.xz
修改环境变量
vim /etc/profile
在文件末尾添加
export PATH=$PATH: /home/rabbitmq_server-3.7.8/sbin //根据软件实际存放路径修改
将该软件的地址添加到环境变量中,source该文件使得配置生效
source /etc/profile
5.1、 运行rabbitmq
启动rabbitmq,-detached代表后台守护进程方式启动。
rabbitmq-server –detached
但是用这种方式启动,你关闭中断或者ctrl+c 后程序就stop了。
所以运行命令用这个:
nohup rabbitmq-server &
5.2、查看rabbitmq状态
以上两种命令都可以。
六、安装Web管理界面插件
依次执行下列指令:
开启rabbitmq: rabbitmqctl start_app
开启管理插件:rabbitmq-plugins enable rabbitmq_management
查看插件集合:rabbitmq-plugins list
如果上面都顺利,重启rabbitmq服务,则可以打开web管理界面:
七、配置web远程登录用户
这里我们以创建个rabbitmq帐号,密码123456为例,创建一个账号并支持远程ip访问。
7.1.创建账号
rabbitmqctl add_user rabbitmq 123456
7.2.设置用户角色
rabbitmqctl set_user_tags rabbitmq administrator
7.3.设置用户权限
rabbitmqctl set_permissions -p "/" rabbitmq ".*" ".*" ".*"
7.4.设置完成后可以查看当前用户和角色(需要开启服务)
rabbitmqctl list_users
八、错误总结
openssl记得下载1.0版本的,不要下载3.0版本。
如果安装完otp_src_20.0,erlang,报一下错误:
Makefile:248: /usr/local/otp_src_20.0/make/x86_64-unknown-linux-gnu/otp_ded.mk: No such file or directory error: No curses library functions found
解决办法:
yum install ncurses-devel.x86_64
离线包:自行下载吧。