Linux’ta RabbitMQ Sunucusu Nasıl Kurulur (Hızlı Kılavuz)

RabbitMQ, STOMP, MQTT, AMQP, HTTP, WebSocket ve RabbitMQ Streams gibi protokolleri destekleyen, sohbet uygulamalarında kullanıcılar arasında gerçek zamanlı iletişim için kullanılan ücretsiz ve açık kaynaklı bir mesaj aracısı programıdır.

İşlevselliği size Apache Kafka’yı hatırlatabilir, ancak fark, RabbitMQ’nun uçtan uca mesaj teslimine öncelik vermesi, Kafka’nın ise sürekli büyük verilerin gerçek zamanlı alışverişi için tasarlanmış dağıtılmış bir olay akış platformu olmasıdır.

Bu eğitimde, RabbitMQ sunucusunu büyük Linux dağıtımlarına nasıl kuracağınızı ve yapılandıracağınızı, bir yönetici hesabı oluşturmayı, yönetim panosunu nasıl kuracağınızı ve bir tarayıcı aracılığıyla ona nasıl erişeceğinizi öğreneceksiniz.

Linux’ta RabbitMQ Sunucusu Nasıl Kurulur

RabbitMQ Server’ı Linux’a kurmanın iki yolu vardır: ya varsayılan paket yöneticisi aracılığıyla (çoğu Linux deposunda mevcut olduğu gibi) ya da en son sürümü garanti eden üçüncü taraf bir depo olan Cloudsmith Mirror’ı kullanarak.

Size ve çalışma ortamınıza en uygun olanı seçebilirsiniz. Yeni başlayanlar için, takip etmesi en kolay ve en basit olduğu için varsayılan paket yöneticisiyle başlamanızı öneririm.

Yöntem 1: RabbitMQ Sunucusunu Paket Yöneticisi aracılığıyla kurun

RabbitMQ sunucu paketi, Debian, Ubuntu, Red Hat ve Fedora gibi birçok popüler Linux dağıtımı için mevcuttur. Bu sistemlerin kullanıcıları, sistemin varsayılan paket yöneticisini kullanarak kararlı sürümü doğrudan yükleyebilir.

# On Debian, Ubuntu, Linux Mint, or Kali Linux
$ sudo apt install rabbitmq-server

# On Red Hat, Fedora, CentOS, or AlmaLinux
$ sudo dnf install rabbitmq-server

Yöntem 2: RabbitMQ Sunucusunu Cloudsmith Mirror aracılığıyla yükleyin

Cloudsmith Mirror, Linux deposunda kullanıma sunulmadan önce kullanıcılara en son RabbitMQ sunucu paketini sunmak için RabbitMQ tarafından resmi olarak sağlanan üçüncü taraf bir depodur.

Debian, Ubuntu, Linux Mint ve diğer ilgili dağıtımlarda RabbitMQ sunucu paketi için Cloudsmith Mirror’ı eklemek için şunu çalıştırın:

$ curl -1sLf 'https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/setup.deb.sh' | sudo -E bash

Red Hat, Fedora, CentOS ve diğer ilgili dağıtımlar için şunu çalıştırın:

$ curl -1sLf 'https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-erlang/setup.rpm.sh' | sudo -E bash

Depoyu ekledikten sonra, varsayılan paket yöneticisini kullanarak RabbitMQ Server’ın en son sürümünü yüklemeye devam edebilirsiniz.

# On Debian, Ubuntu, Linux Mint, or Kali Linux
$ sudo apt install rabbitmq-server

# On Red Hat, Fedora, CentOS, or AlmaLinux
$ sudo dnf install rabbitmq-server

RabbitMQ Sunucu Hizmetini Yönetin

RabbitMQ Server kurulumu tamamlandıktan sonra, aşağıdaki komutları çalıştırarak kurulum sırasında oluşturulan RabbitMQ hizmetinin etkin ve aktif olduğundan emin olun:

$ systemctl is-enabled rabbitmq-server
$ systemctl status rabbitmq-server

Output:

Checking the RabbitMQ Service in Linux

Gördüğünüz gibi, benim durumumda etkin ve aktif. Size uygun değilse, aşağıdaki komutu kullanarak hizmeti arka planda etkinleştirdiğinizden ve başlattığınızdan emin olun:

$ sudo systemctl enable --now rabbitmq-server

Output:

Starting and enabling the RabbitMQ Server in Linux

Sorun Giderme

Hizmetleri başlatırken bir hizmet hatasıyla karşılaşırsanız, ss komutunu kullanarak RabbitMQ Sunucusu tarafından kullanılan varsayılan 5672 bağlantı noktasının başka bir hizmet tarafından kullanılmadığından emin olun:

$ sudo ss -tulpn | grep 5672

Çıktı:

Checking the port use by RabbitMQ Server

Yukarıdaki çıktıda, “beam.smp” işlemi RabbitMQ Server tarafından yönetilmektedir, bu nedenle sorun onda değildir. Ancak, bağlantı noktasını başka bir kullanıcı veya hizmet kullanıyorsa, hizmeti bağlantı noktası numarası veya hizmet adıyla kapattığınızdan emin olun.

RabbitMQ Sunucusunu Yapılandırın

RabbitMQ sunucusunu ana bilgisayar adı ve ağ ayarlarıyla yapılandırmak için. “rabbitmq-env.conf” dosyasındaki parametreleri ayarlamamız gerekiyor. Bu yapılandırma dosyası, RabbitMQ için düğüm adları, dizin konumları, çalışma zamanı bayrakları vb. gibi genel ortam değişkenlerini ayarlamak için kullanılır.

Bu dosyayı düzenlemekteki ana motivasyonumuz, onu ana bilgisayar adımız ve dahili ağımızla yapılandırmaktır (GENEL IP ADRESLERINE MARUZ BIRAKMAYIN). Devam etmek için önce tercih ettiğiniz metin düzenleyiciyi kullanarak dosyayı açın (Nano’yu seçtim).

$ sudo nano /etc/rabbitmq/rabbitmq-env.conf

Dosya açıldıktan sonra, aşağıdaki parametrelerin “#” önekiyle yorumlandığını göreceksiniz.

#NODENAME=rabbit
#NODE_IP_ADDRESS=127.0.0.1
#NODE_PORT=5672

Dahili ağ ile yapılandırmak için ana bilgisayar adınızı ve dahili (veya yerel) IP adresinizi bulun, “#” önekini kaldırarak NODENAME ve NODE_IP_ADDRESS satırlarının açıklamasını kaldırın ve parametre değerlerini seçtiğiniz değerlerle değiştirin. Gerekli değişiklikleri yaptıktan sonra dosyanız şu şekilde görünmelidir:

Modifying the RabbitMQ configuration file

Gerekirse, NODE_PORT parametresinin yorumunu kaldırarak ve bağlantı noktası numarasını istediğiniz numarayla değiştirerek bağlantı noktasını ayarlayabilirsiniz. Ancak, tek seçeneğiniz bu olmadığı sürece bunu yapmanızı önermiyorum. Bunun yanı sıra, artık dosyayı kaydedip kapatabilirsiniz ve aşağıdakileri çalıştırarak RabbitMQ Sunucusunu yeniden başlatmayı unutmayın:

$ sudo systemctl restart rabbitmq-server

RabbitMQ için Yönetici Hesabı Oluşturun

RabbitMQ web arayüzüne erişmek için (daha sonra tartışılacaktır), bir yönetici hesabına ihtiyacınız vardır. Bu amaçla, RabbitMQ sunucusundaki tüm sankonlar için tam izinlere sahip yeni bir yönetici hesabı oluşturmak için aşağıdaki komutu kullanabilirsiniz.

$ sudo rabbitmqctl add_user rabbituser changeme
$ sudo rabbitmqctl set_user_tags rabbituser administrator
$ sudo rabbitmqctl set_permissions -p / rabbituser ".*" ".*" ".*"

Çıktı:

Creating new user for RabbitMQ

Yönetici hesabı oluşturulduktan sonra, oturum açmak için aşağıdaki kimlik bilgilerini kullanabiliriz:

  • Usename: rabbituser
  • Password: changeme

RabbitMQ Yönetim Eklentisini Yükleyin

RabbitMQ, mevcut özelliklerini genişletmek için topluluk tarafından katkıda bulunulan bir dizi eklenti sunar. RabbitMQ’nun izlenmesini ve yapılandırılmasını kolaylaştıran bir web arayüzüne erişim sağlayan “rabbitmq_management” eklentisiyle özellikle ilgileniyoruz.

Bu eklentiyi etkinleştirmek için aşağıdaki komutu çalıştırın:

$ sudo rabbitmq-plugins enable rabbitmq_management

Bu, birlikte RabbitMQ yönetim arayüzünü etkinleştiren “rabbitmq_management”, “rabbitmq_management_agent” ve “rabbitmq_web_dispatch” gibi diğer gerekli eklentileri etkinleştirecektir.

enabling rabbitmq_management plugin

RabbitMQ Yönetim Panosuna Erişim

Son olarak, RabbitMQ web arayüzüne erişmek için tercih ettiğiniz tarayıcıyı açın ve dahili IP adresinize ve ardından 15672 bağlantı noktasına gidin (şunun gibi: http://ip-address:15672). İlk ziyaretinizde, oturum açmak için önceden oluşturulmuş yönetici kimlik bilgilerini kullanabileceğiniz oturum açma sayfasına yönlendirileceksiniz.

RabbitMQ login page

Kimlik doğrulama başarılı olduğunda, aşağıdaki gibi görünecek olan RabbitMQ kontrol paneline yönlendirileceksiniz:

RabbitMQ dashboard

Bu kadar! RabbitMQ’yu Linux sisteminize başarıyla kurdunuz ve yapılandırdınız.

Linux’ta RabbitMQ Nasıl Kaldırılır

RabbitMQ’yu Linux sisteminizden kaldırmak için öncelikle kurulum için kullanılmışsa Cloudsmith Mirror deposunu kaldırdığınızdan emin olun. Debian, Ubuntu, Linux Mint ve diğer ilgili dağıtımlar için aşağıdaki komutu kullanın:

$ rm /etc/apt/sources.list.d/rabbitmq-rabbitmq-erlang.list
$ apt-get clean
$ rm -rf /var/lib/apt/lists/*
$ apt update

Red Hat, Fedora, CentOS ve diğer ilgili dağıtımlar için şu komutu kullanın:

$ rm /etc/yum.repos.d/rabbitmq-rabbitmq-erlang.repo
$ rm /etc/yum.repos.d/rabbitmq-rabbitmq-erlang-source.repo

Depo kaldırıldıktan sonra, Linux dağıtımınız için uygun komutu kullanarak RabbitMQ Sunucu paketini kaldırmaya devam edebilirsiniz:

# On Debian, Ubuntu, Linux Mint, or Kali Linux
$ sudo apt uninstall rabbitmq-server

# On Red Hat, Fedora, CentOS, or AlmaLinux
$ sudo dnf uninstall rabbitmq-server

 

 

Yazının orijinalini buradan okuyabilirsiniz

Hüseyin GÜÇ

Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım. Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum. Son 6 yıldır  sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum. Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.