Erlang Rabbitmq 编译安装

确认需求关系

查看ealng和rabbitmq的适配关系 https://www.rabbitmq.com/which-erlang.html

环境说明

1. CentOS7.9
2. RabbitMQ 3.9.14     # 
3. Erlang 23.2.7.4     # https://www.erlang.org/downloads

开始安装

参考链接 https://www.erlang.org/docs/23/installation_guide/install

# 前置条件  yum install ncurses ncurses-devel gcc gcc-c++ camke make kernel-devel m4 ncurses-devel openssl-devel gtk2-devel binutils-devel
# 由于erlang依赖wxWidgets,需要先安装wxWidgets, 而wxWidgets依赖gtk2-devel与binutils-devel

wxWidgets

下载软件包 https://github.com/wxWidgets/wxWidgets/releases/download/v3.0.3/wxWidgets-3.0.3.tar.bz2
[root@localhost wxWidgets-3.0.3]# tar xvf wxWidgets-3.0.3.tar.bz2
[root@localhost wxWidgets-3.0.3]# cd wxWidgets-3.0.3
[root@localhost wxWidgets-3.0.3]# ./configure --with-regex=builtin --with-gtk --enable-unicode   --disable-shared --prefix=/usr/local/wxWidgets
[root@localhost wxWidgets-3.0.3]# make -j 4 && make install

erlang

下载 https://www.erlang.org/downloads
[root@localhost local]# tar xvf otp_src_23.2.7.4.tar.gz
[root@localhost local]# cd otp_src_23.2.7.4
[root@localhost local]# ./configure --prefix=/usr/local/erlang
[root@localhost local]# make -j 4 && make install
[root@localhost local]# vim /etc/profile
export PATH=$PATH:/usr/local/erlang/bin
[root@localhost local]# source /etc/profile
[root@localhost local]# erl
Erlang/OTP 23 [erts-11.1.8] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]

Eshell V11.1.8  (abort with ^G)
1> 

rabbitmq

下载 https://github.com/rabbitmq/rabbitmq-server/releases?q=3.9.14&expanded=true
[root@localhost local]# tar xvf rabbitmq-server-generic-unix-3.9.14.tar.xz
[root@localhost local]# cd rabbitmq_server-3.9.14
[root@localhost rabbitmq_server-3.9.14]# echo "[{rabbit, [{loopback_users, []}]}]." > etc/rabbitmq/rabbitmq.config
[root@localhost rabbitmq_server-3.9.14]# ./sbin/rabbitmq-plugins enable rabbitmq_management
[root@localhost rabbitmq_server-3.9.14]# ./sbin/rabbitmq-server start -detached   (后台运行)

错误解决

#Erlang在进行configure的时候出现下面的错误
configure: WARNING: No OpenGL headers found, wx will NOT be usable
configure: WARNING: No GLU headers found, wx will NOT be usable
./configure: line 4671: wx-config: command not found
configure: WARNING:
                wxWidgets must be installed on your system.

		Please check that wx-config is in path, the directory
		where wxWidgets libraries are installed (returned by
		'wx-config --libs' or 'wx-config --static --libs' command)
		is in LD_LIBRARY_PATH or equivalent variable and
		wxWidgets version is 2.8.4 or above.

*********************************************************************
**********************  APPLICATIONS DISABLED  **********************
*********************************************************************

jinterface     : No Java compiler found					>>>>>>>> 安装jdk
odbc           : ODBC library - link check failed		>>>>>>>> yum install unixODBC-devel

*********************************************************************
*********************************************************************
**********************  APPLICATIONS INFORMATION  *******************
*********************************************************************

wx             : No OpenGL headers found, wx will NOT be usable
No GLU headers (glu.h) found, wx will NOT be usable     >>>>>>>>> yum provides *glu.h
wxWidgets not found, wx will NOT be usable

*********************************************************************
*********************************************************************
**********************  DOCUMENTATION INFORMATION  ******************
*********************************************************************

documentation  : 
                 xsltproc is missing.
                 fop is missing.
                 The documentation cannot be built.

*********************************************************************

# 上面的问题决绝后会可能再出现一个 wx             : wxWidgets don't have gl support报错,这个可以不管.执行make && make install 即可

启动脚本

[root@localhost local]# vim /etc/systemd/system/rabbitmq.service
[Unit]
Description=RabbitMQ broker
After=syslog.target network.target

[Service]
Environment="PATH=/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/erlang/bin"
Environment="HOME=/usr/local/rabbitmq_server-3.9.14/"
Environment="LIB=/usr/local/erlang/lib:/usr/lib:/usr/local/rabbitmq_server-3.9.14/var/lib"

Type=notify
LimitNOFILE=65536
LimitNPROC=65535
WorkingDirectory=/var/lib/rabbitmq
ExecStart=/usr/local/rabbitmq_server-3.9.14/sbin/rabbitmq-server 
ExecStop=/usr/local/rabbitmq_server-3.9.14/sbin/rabbitmqctl stop
ExecStop=/bin/sh -c "while ps -p $MAINPID >/dev/null 2>&1; do sleep 1; done"
Restart=always
NotifyAccess=all
TimeoutStartSec=3600

[Install]
WantedBy=multi-user.target
posted @ 2022-05-10 17:24  少林寺驻峨眉山大神父  阅读(647)  评论(0)    收藏  举报