Linux Centos için RabbitMQ kurulum rehberi
Bu yazı 2020 yılından. Anlatılan sürümler, fiyatlar ve adresler o günden bu yana değişmiş olabilir.
RabbitMQ, ücretsiz ve açık kaynaklı bir mesaj kuyruğu (message queue) yazılımıdır. Erlang dilinde yazılmıştır ve AMQP protokolünü kullanır. Peki ne işe yarar? Diyelim ki siteniz sipariş alıyor ve her siparişte fatura oluşturup mail atıyor; bu işler zaman alır. RabbitMQ sayesinde siparişi hemen bir kuyruğa atar, kullanıcıyı bekletmezsiniz; faturayı ve maili arka planda bir işçi (worker) sırayla halleder. Yani iki uygulama ya da bir uygulamanın iki parçası arasında "sen şunu yap" mesajlarını güvenli şekilde iletmeye yarar. Bu rehberde RabbitMQ'nun sunucuya kurulumunu anlatacağım.
Güncelleme (Kasım 2026): Bu yazıyı 2020'de yazmıştım ve o zamanki komutlar bugün tamamen eskidi. Yazıda Erlang 18 ve RabbitMQ 3.6 kuruyorduk; ikisi de çok eski kaldı. CentOS 7'nin de desteği bittiği için yazıyı güncel sürümlere ve güncel dağıtımlara göre yeniledim.
Önce dağıtım seçimi
Yeni sunucu kuruyorsanız CentOS 7 kullanmayın, desteği bitti. Rocky Linux ya da AlmaLinux kurun; RabbitMQ bu dağıtımların 8 ve 9 sürümlerini resmi olarak destekliyor. Komutları sudo ile çalıştırın.
1. Depoları eklemek
RabbitMQ, Erlang'ın belirli sürümleriyle çalışır; yanlış Erlang sürümüyle çalışmaz. Bu eşleştirmeyle uğraşmamak için ikisini de RabbitMQ ekibinin kendi deposundan kuruyoruz. Depo adresleri zaman zaman değiştiği için en güncel depo dosyasını RabbitMQ'nun resmi kurulum sayfasından (rabbitmq.com/docs/install-rpm) almanızı öneririm; sayfa, dağıtımınıza uygun Erlang ve RabbitMQ depo dosyalarını ve imza anahtarlarını veriyor.
Depoları ekledikten sonra paket listesini güncelleyin:
sudo dnf makecache2. Erlang ve RabbitMQ'yu kurmak
İkisini tek komutla kuruyoruz:
sudo dnf install -y erlang rabbitmq-server3. Servisi başlatmak
Sunucu açıldığında kendiliğinden başlaması için etkinleştirip çalıştırıyoruz:
sudo systemctl enable --now rabbitmq-serverÇalışıp çalışmadığını kontrol etmek için:
sudo rabbitmqctl status4. Güvenlik duvarı
Dışarıdan erişim gerekiyorsa RabbitMQ'nun kullandığı portları açıyoruz (5672 uygulama bağlantısı, 15672 yönetim arayüzü):
sudo firewall-cmd --permanent --add-port=5672/tcp --add-port=15672/tcp
sudo firewall-cmd --reload5. Yönetim arayüzü ve kullanıcı
RabbitMQ'yu tarayıcıdan izleyip yönetebilmek için yönetim eklentisini açıyoruz:
sudo rabbitmq-plugins enable rabbitmq_managementRabbitMQ'nun varsayılan guest kullanıcısı güvenlik gereği yalnızca sunucunun kendi üzerinden (localhost) çalışır, dışarıdan giriş yapamazsınız. Bu yüzden kendimize bir yönetici kullanıcı oluşturuyoruz (kullaniciadi ve sifre kısımlarını kendinize göre değiştirin):
sudo rabbitmqctl add_user kullaniciadi sifre
sudo rabbitmqctl set_user_tags kullaniciadi administrator
sudo rabbitmqctl set_permissions -p / kullaniciadi ".*" ".*" ".*"Artık her şey hazır. Tarayıcıdan http://ip-adresiniz:15672/ adresine girip oluşturduğunuz kullanıcı adı ve şifreyle yönetim konsoluna erişebilirsiniz.