- Là ứng dụng trung gian lưu trữ message(các gói tin) giữa các ứng dụng với nhau. Tiếp nhận và phân phối tới các dịch vụ xử lý khác nhau.
- RabbitMQ là miễn phí, dễ sử dụng chạy trên các loại hệ điều hành và nền tảng khác nhau như: JAVA, PHP, PYTHON,..
2. Cài đặt RabbitMQ trên Centos.
a. Cài đặt gói online
Yêu câu: phải cài đặt gói Erlang trước khi cài đặt RabbitMQ.
- Chuyển đến folder tải ứng dụng: $ cd /u02/installation/
- Download Erlang: $ wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
- Cài đặt gói elrepo.repo: $ rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
- Cài đặt erlang: $ yum install erlangyum install erlang
- Cài đặt rabbitMQ: $ rpm --import http://www.rabbitmq.com/rabbitmq-signing-key-public.asc
Cầu hình RabbitMQ:
- Tạo file config: /etc/rabbitmq/rabbitmq.config
[
{rabbit, [{tcp_listeners, [8672]}]},
{rabbitmq_management,
[{listener, [{port, 9672},
{ip, "127.0.0.1"}
]}
]}
].
b. Cài đặt gói offline.
Yêu cầu: Server đã cài đặt gói libraries GCC, Perl, OpenSSL, Erlang
- Cài đặt gói Perl
+ $ wget http://www.cpan.org/src/5.0/perl-5.20.0.tar.gz
+ $ tar -xvzf perl-5.18.0.tar.gz
+ $ ./Configure -des
+ $ make
+ $ make test
Nếu test thành công.
+ $ make install
- Cài đặt gói GCC bao gồm các libraries sau:
+ gcc-c++-4.4.7-4.el6.x86_64.rpm
+ libstdc++-devel-4.4.7-4.el6.x86_64.rpm
+ gcc-4.4.7-4.el6.x86_64.rpm
+ libgomp-4.4.7-4.el6.x86_64.rpm
+ glibc-devel-2.12-1.132.el6.x86_64.rpm
+ glibc-headers-2.12-1.132.el6.x86_64.rpm
+ cpp-4.4.7-4.el6.x86_64.rpm
+ mpfr-2.4.1-6.el6.x86_64.rpm
+ gmp-4.3.1-7.el6_2.2.x86_64.rpm
+ gmp-devel-4.3.1-7.el6_2.2.x86_64.rpm
+ cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
+ ppl-0.10.2-11.el6.x86_64.rpm
+ kernel-headers-2.6.32-431.17.1.el6.x86_64.rpm
+ ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
- Cài đặt gói Erlang.
+ $ cd otp_src_R16B
+ $ LANG=C; export LANG
+ $ ./configure --prefix=/u01/setup/rabbitmq/erlang
+ $ make
+ $ make install
+ Kiểm tra: gõ lệnh: erl
Nếu thành công
# erl
Erlang R16B (erts-5.10.1) [source]
[smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V5.10.1 (abort with ^G)
1>
BREAK: (a)bort (c)ontinue (p)roc
info (i)nfo (l)oaded
(v)ersion (k)ill (D)b-tables
(d)istribution
- Lỗi thường gặp khi cài Erlang
+ Config sai type
checking for __int128_t... no
checking size of __int128_t... 0
configure: error: No 32-bit type found
configure: error: /bin/sh '/u01/PHONESAFE/bvkh/setup/rabbitmq/otp_src_R16B/erts/configure' failed for erts
=> Sử dụng lệnh: ./configure --host=x86_64-linux-gnu "CFLAGS=-m64" "CXXFLAGS=-m64" "LDFLAGS=-m64" --prefix=/u01/setup/rabbitmq/erlang
+ Lỗi thiếu gói NCURCUS
checking for kstat_open in -lkstat... (cached) no
checking for tgetent in -lncurses... no
checking for tgetent in -lcurses... no
checking for tgetent in -ltermcap... no
checking for tgetent in -ltermlib... no
configure: error: No curses library functions found
configure: error: /bin/sh '/u01/setup/rabbitmq/otp_src_R16B/erts/configure' failed for erts
=> Cài thêm cách gói
[user@localhost otp_src_R16B]$ rpm -qa|grep ncurses
ncurses-devel-5.7-3.20090208.el6.x86_64
ncurses-term-5.7-3.20090208.el6.x86_64
ncurses-libs-5.7-3.20090208.el6.x86_64
ncurses-5.7-3.20090208.el6.x86_64
ncurses-base-5.7-3.20090208.el6.x86_64
- Cài đặt RabbitMQ
- $ wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.0.4/rabbitmq-server-generic-unix-3.1.5.tar.gz
- $ tar xvfz
rabbitmq-server-generic-unix-3.1.5.tar.gz
- $ cd rabbitmq_server-3.1.5/
- $ vi ./sbin/rabbitmq-defaults
=> Thay đổi url erlang: ERL_DIR=/u01/setup/rabbitmq/erlang/bin/
- $ vi ./sbin/rabbitmq-defaults
=> Thay đổi url erlang: ERL_DIR=/u01/setup/rabbitmq/erlang/bin/
- $ sbin/rabbitmq-plugins enable
rabbitmq_management
- Tạo file
../rabbitmq_server-3.1.5/etc/rabbitmq/rabbitmq.config
[
{rabbit, [{tcp_listeners,
[8672]}]},
{rabbitmq_management,
[{listener, [{port, 9672},
{ip, "127.0.0.1"}
]}
]}
].
- Nếu xảy ra lỗi không kết nối với host
Tạo file ../rabbitmq_server-3.1.5/etc/rabbitmq/rabbitmq-env.conf
#######
NODENAME=rabbit@localhost
NODE_IP_ADDRESS=Dia chi IP
- Với rabbitMQ sử dụng IP Public thì config: ../rabbitmq_server-3.1.5/etc/rabbitmq/rabbitmq.config
[
{rabbit, [{tcp_listeners, [5672]}, {loopback_users, []}]
},
{rabbitmq_management,
[{listener, [{port, 9672},
{ip, "123.39.17X.16X"}
]}
]}
].
- Vận hành RabbitMQ
+ Stop: sbin/rabbitmqctl stop
+ Status sbin/rabbitmqctl status
+ Start: nohup
./sbin/rabbitmq-server start&
Không có nhận xét nào:
Đăng nhận xét