RabbitMQ adalah perangkat lunak perantara pesan perusahaan sumber terbuka dan gratis. Itu ditulis dalam Erlang dan mengimplementasikan Advanced Message Queuing Protocol (AMQP). Ini menyediakan perpustakaan klien dalam semua bahasa pemrograman utama. Ini mendukung beberapa protokol perpesanan, antrian pesan, pengakuan pengiriman, perutean fleksibel ke antrian, beberapa jenis pertukaran. Ini juga menyediakan HTTP-API yang mudah digunakan, alat baris perintah, dan UI web untuk mengelola RabbitMQ.
Dalam tutorial ini, kita akan menginstal RabbitMQ di server CentOS 7.
Prasyarat
- Minimal CentOS 7 server
- Hak istimewa root. Panduan ini ditulis sebagai pengguna root, jika Anda login sebagai pengguna sudo, jalankan sudo -i.
Perbarui Sistem Basis
Sebelum menginstal paket apa pun, Anda disarankan untuk memperbarui paket dan repositori menggunakan perintah berikut.
yum -y update
Setelah sistem Anda diperbarui, lanjutkan lebih jauh untuk menginstal Erlang.
Instal Erlang
RabbitMQ ditulis dalam Bahasa Erlang, dalam tutorial ini kita akan menginstal versi terbaru dari Erlang ke server. Erlang tidak tersedia di repositori YUM default, maka Anda perlu menginstal repositori EPEL. Jalankan perintah berikut untuk hal yang sama.
yum -y install epel-release
yum -y update
Sekarang instal Erlang menggunakan perintah berikut.
yum -y install erlang socat
Anda sekarang dapat memeriksa versi Erlang menggunakan perintah berikut.
erl -version
Anda akan mendapatkan output berikut.
[[email protected] ~]# erl -version Erlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 5.10.4
Untuk beralih ke Erlang shell, Anda dapat mengetikkan perintah berikut.
erl
Shell akan berubah dan Anda akan mendapatkan output berikut.
Erlang R16B03-1 (erts-5.10.4) [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false] Eshell V5.10.4 (abort with ^G) 1>
Anda dapat keluar dari shell dengan menekan ctrl + C dua kali. Erlang sekarang terinstal di sistem Anda, sekarang Anda dapat melanjutkan untuk menginstal RabbitMQ.
Instal RabbitMQ
RabbitMQ menyediakan paket RPM untuk sistem Linux perusahaan yang telah dikompilasi sebelumnya dan dapat diinstal secara langsung. Satu-satunya ketergantungan yang diperlukan adalah menginstal Erlang ke dalam sistem. Karena kami telah menginstal Erlang, kami dapat melanjutkan untuk mengunduh RabbitMQ. Unduh paket Erlang RPM dengan menjalankan.
wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm
Jika Anda belum menginstal wget, Anda dapat menjalankan yum -y install wget. Anda selalu dapat menemukan tautan ke halaman unduhan RabbitMQ versi terbaru.
Impor kunci GPG dengan menjalankan:
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
Instal paket RPM dengan menjalankan:
rpm -Uvh rabbitmq-server-3.6.10-1.el7.noarch.rpm
RabbitMQ sekarang terinstal di sistem Anda.
Memulai RabbitMQ
Anda dapat memulai proses server RabbitMQ dengan menjalankan perintah berikut.
systemctl start rabbitmq-server
Untuk memulai RabbitMQ secara otomatis saat boot, jalankan perintah berikut.
systemctl enable rabbitmq-server
Untuk memeriksa status server RabbitMQ, jalankan:
systemctl status rabbitmq-server
Anda akan mendapatkan output berikut jika berhasil dimulai.
? rabbitmq-server.service - RabbitMQ broker Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2017-07-15 18:59:14 UTC; 3min 22s ago Main PID: 29006 (beam.smp) Status: "Initialized" CGroup: /system.slice/rabbitmq-server.service ??29006 /usr/lib64/erlang/erts-9.0/bin/beam.smp -W w -A 64 -P 1048576 -t 5000000 -stbt db -zdbbl 32000 -K tr... ??29149 /usr/lib64/erlang/erts-9.0/bin/epmd -daemon ??29283 erl_child_setup 1024 ??29303 inet_gethost 4 ??29304 inet_gethost 4 Jul 15 18:59:13 centos rabbitmq-server[29006]: Starting broker... Jul 15 18:59:14 centos rabbitmq-server[29006]: systemd unit for activation check: "rabbitmq-server.service" Jul 15 18:59:14 centos systemd[1]: Started RabbitMQ broker. Jul 15 18:59:14 centos rabbitmq-server[29006]: completed with 0 plugins.
Ubah Aturan Firewall dan SELinux
Jika Anda telah menginstal dan menjalankan firewalld, Anda harus mengizinkan port 8161 melalui firewall. Jalankan perintah berikut untuk hal yang sama.
firewall-cmd --zone=public --permanent --add-port=4369/tcp
firewall-cmd --zone=public --permanent --add-port=25672/tcp
firewall-cmd --zone=public --permanent --add-port=5671-5672/tcp
firewall-cmd --zone=public --permanent --add-port=15672/tcp
firewall-cmd --zone=public --permanent --add-port=61613-61614/tcp
firewall-cmd --zone=public --permanent --add-port=1883/tcp
firewall-cmd --zone=public --permanent --add-port=8883/tcp
firewall-cmd --reload
Jika Anda mengaktifkan SELinux, Anda harus menjalankan perintah berikut untuk mengizinkan layanan RabbitMQ.
setsebool -P nis_enabled 1
Akses Konsol Web
Aktifkan konsol manajemen web RabbitMQ dengan menjalankan:
rabbitmq-plugins enable rabbitmq_management
Berikan kepemilikan file RabbitMQ kepada pengguna RabbitMQ dengan menjalankan:
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/
Sekarang Anda perlu membuat pengguna administratif untuk konsol manajemen web RabbitMQ. Jalankan perintah berikut untuk hal yang sama.
rabbitmqctl add_user admin StrongPassword
rabbitmqctl set_user_tags admin administrator
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
Ubah admin menjadi nama pengguna pilihan Anda untuk pengguna administrator. Pastikan untuk mengubah StrongPassword menjadi kata sandi yang sangat kuat.
Untuk mengakses panel administratif RabbitMQ, gunakan browser web favorit Anda dan buka URL berikut.
http://Your_Server_IP:15672/
Anda akan melihat halaman login berikut.
Setelah Anda masuk, Anda akan melihat dasbor administratif.
Anda dapat menemukan daftar pengguna, host virtual, kebijakan di Admin tab dasbor. Anda harus menghapus Tamu pengguna untuk pertimbangan keamanan.
Anda dapat menemukan daftar antrian pesan di Antrian tab. Anda dapat membuat antrean baru atau menghapus antrean yang sudah ada melalui antarmuka ini.
Anda dapat menemukan daftar koneksi saat ini di Koneksi tab
Demikian pula, Anda dapat menemukan saluran dan pertukaran di tab masing-masing.
Kesimpulan
Anda sekarang dapat dengan mudah menginstal RabbitMQ untuk antrian pesan di antara proses, server, dan klien. Untuk mempelajari lebih lanjut tentang RabbitMQ, Anda dapat menelusuri situs RabbitMQ.