Centos 7 Üzerine RabbitMQ Kurulumu

Centos 7 Üzerine RabbitMQ Kurulumu

Hepinize merhaba dostlarım 😊. Benim için inanılmaz meşakkatli, yorucu ve aynı zamanda da aşırı fazla deneyim kazandığım bir haftanın ardından gelen bir pazar gününü her zamanki yazılım konularından farklı olarak ve yardım istediğim birçok hocamın ve okuyucularımın bana

Hocam bu konu hakkında bir makale bir de youtube videosu çekin

demesi ile (öneri olmasa da bu makaleyi yazacaktım dostlarım amacım ben zorluüuun gördüm siz görmeyin) yazıyorum. Öncelikle bu süreçte karşılaştığım GENÇAY YILDIZ hocamın (sitesi burada) yazmış olduğu Docker Üzerine rabbitMQ Kurulumu makalesinden yardım aldım. Kendisinin de bu makaleden yardım almama izin verdiği için size de işlemi elimden geldiğince kendi deneyimlerimi ve öğrendiklerimi anlatmak istedim dostlarım 😊. O halde hazırsanız "Centos 7 üzerine RabbitMQ Kurulumu" konusuna giriş yapalım. Amaaa sizin aklınızda bir soru var bunu çözmeden duramam

Hocam Allah sizden razı olsun güzel ve akılda kalıcı anlatıyorsunuz. Lakin bu işlem için bizim sunucu almamız vs gerekiyor ki sunucumuz yok. Bunu nasıl yapacağız ?

Çok güzel bir noktaya değindiniz aslında dostlarım. Şunu deyim ben şimdi eğer hani hosting, domain kullanıyorsanız şu an öğrenmek adına ekstra bir sunucu ve domain alın derim (Bu sizin mevcut sunucunuz değil de deneme olarak işte paket yükle çıkar gibilerinden yapabilirsiniz). Ama maddi olarak imkanınız yok ise dostlarım ve riske giremem vs diyorsanız bilgisayarınıza docker indirip onun üzerinde işlem yapabilirsiniz 😊.

O halde sözümü daha fazla uzatmadan dostlarım hemen konumuza giriş yapalım.

Docker Nedir ?

Eveeeet dostlarım geldik artık konumuzun ilk kısmı 😊. Bunu tamamen ezber veya teorik bir biçimde anlatıp sizi sıkmak istemiyorum dostlarım. Ve benim de bu hafta içerisinde karşılaştığım ve işlemi bu şekilde ayağa kaldırdığım teknolojiye tam hakim olmadığım için çok fazla üzerinde durmadan anlatacağım.

Dostlarım olay tamamen şu. Şimdi sizin bir mikroservis projeniz var diyelim. Atıyorum arka planda Laravel , ön planda Vue.js , Cache mimarisinde Redis , işlem kuyruğu için de RabbitMQ kullanacağınız durumlar olduğunu varsayalım. Bunlara şöyle genel olarak baktığımızda içinizden şunu diyebilirsiniz

Hocam bir sürü işlem var. Biz bunu windows üzerine kurarsak çakışmama ihtimali yok neredeyse

heeeh işte olay tam da burada devreye giriyor. Bunların birbiri ile bağlantılı , izole şekilde çalışması için aslında docker sanal bir ortam oluşturuyor. Gerekli olan paketleri kurup container (alan) oluşturup port açıyoruz. Sonrasında da run komutunu verdiğimizde arka planda uslu uslu kimseye zararı olmadan çalışıyor 😊. Şimdi bu kısımda bazı arkadaşlarımın şunu dediğine eminim ben de zamanında onu demiştim

Hocam çakışsa çakışsa en fazla port kullanıyor der başka ne olabilir ki ?

diyorsunuzdur. Siz öyle sanın dostlarım 😅. Bir sonraki başlıkta bu süreçte neler çektiğimi anlatacağım sizlere

Neden İhtiyaç Duydum ?

Eveeeet dostlarım geldik en civcivli kısım olan "Neden İhtiyaç Duydum ?" kısmına. Dostlarım öncelikle ben sağda solda gördüğüm ve rabbitMQ kullanımına neredeyse Nisan ayından beri kafamı takmıştım. Tamam güzel öğrenmek adına da ufak bir proje geliştirdim. Burası da süper. Şimdi bunu rabbitMQ ile bağlamak kaldı. İşte en can alıcı kısım

Öncelikle dostlarım direkt olarak paketi Centos 7 üzerine kurdum. Portları açtım (gelen giden olayların dinlenmesi için firewall üzerinden açtım). Sonrasında şu komutu yazdığımda

systemctl start rabbitmq-server

komutunda sunucumda bir şeylerin ters gittiğini öğrendim. Yani anlam veremediğim bir şekilde bağlatı isteğini kırıyordu. Birçok hocamla araştırma yaptık bu konuda. /usr/bin/bash içeriğini değiştirdik sonra nasıl deyim /etc/hosts içerisini değiştirdik. Yine çalışmadı

Amaaaa en aksi bir hata oldu. FTP hesapları patladı. Sunucu şirketinden yardım almaya kalktığımda bile bana gelen cevap tam olarak şuydu

Sunucu yönetimi tamamen sizin elinizde. FTP bağlanmak için test hesabı açtığımız halde bile biz de bağlanamıyoruz

bu mesaj beni yıktı. Ciddi ciddi yıktı. Yani en fazla ne olabilir ki dedim ben de portlar da çakıştı Hosts dosyasından ayarlamalar yaptım. Sunucu pufff. Ama sonunda hallettim. 

Artık docker kullanmanın önemli olduğunu anlamışsınızdır dostlarım. Şimdi içinizden şunu diyorsunuzdur

Hocam peki docker'ı sunucumuza nasıl kurabiliriz ? Çok uzun sürer mi

şeklinde sorularınız vardır. Buna gelin bir diğer başlık altında değinelim

Sunucumuza Docker Kuralım ?

Eveeeet artık geldik dananın kuyruğunun koptuğu yere 😊. Dostlarım öncelikle ssh terminalimizi açıp

yum install docker

komutunu yazalım. Kurulum işlemimimiz başlayacaktır. Normalde bu komutu denerdim şu an ama bende kurulu olduğu için dostlarım bu işlemde "Zaten kurulu sen bir daha neden kurmaya kalkıyorsun ki dostum" diye uyarı verecektir 😅.

Bu komutu yazdıktan sonra dostlarım

systemctl start docker 
systemctl enable docker

komutlarını yazalım. Burada aslında diyoruz ki

Dostum sen bu docker teknolojisini şu an çalıştır. Extra olarak sunucu boot edildiği anda da çalışsın bunu benim için gerçekleştir

şeklinde bir komut beliriyoruz. Daha sonrasında ise bunun kurulduğunu test etmek için

docker -v

yazıp versiyonunu öğrenmek istediğimizde karşımıza

Docker version 1.13.1, build 7d71120/1.13.1

şeklinde bir sonuç çıkacaktır. Versiyonlar birebir aynı olmayabilir güncelleme gelmiş vs olabilir sizde atıyorum 1.14.2 gibilerinden sayı yazarsa korkmayın bu işlem başarılı bir şekilde gerçekleştirilmiş olacaktır 😊. İşte Docker kurulum işlemleri bu kadar 😊.

Şimdi gelelim bir diğer başlıkta bunu inceleyelim

Docker Üzerinde RabbitMQ Kurulumu

Eveeeet geldik beni en fazla mutlu eden kısımlardan birisine daha dostlarım 😊. Artık zamanı geldi ve docker üzerine bu rabbitMQ teknolojisini kurulum kısmına. Buradaki mantık tamamen npm gibi işliyor dostlarım. Öncelikle paket kurulumunu gerçekleştiriyoruz. Hemen ssh üzerinden

docker pull rabbitmq

şeklinde paketimizi yüklüyoruz. Karşınıza


(Gençay YILDIZ hocamın sitesinden alıntıdır)

şeklinde bir çıktı geliyorsa tamamdır paket kurulmaya başlamıştır ve işlemler sıkıntısız bir şekilde ilerliyoruz. 

Daha sonrasında ise

docker run -d -p 1453:15672 -p 5672:5672 --name rabbitmqcontainer rabbitmq:3-management

(Gençay YILDIZ hocamın sitesinden alıntıdır)

şeklinde bir komut yazıyoruz. Burada kurmuş olduğumuz rabbitmq kütüphanesinden bir container oluşturuyoruz. Normal şartlarda rabbitMQ üzerine 15672 portundan eriştiğimiz için bunu harici olarak bir adresleme tanımlayabilirsiniz. Mesela kodda 1453 olarak erişmek istediğinizde sizin için portu 15672 olarak anlayacak ve o adresi dinlemeye başlayacaktır. Karşımıza gelecek olan sonuç


(Gençay YILDIZ hocamın sitesinden alıntıdır)

şeklinde olacaktır. Tamam süper bu kısma kadar da başarılı ilerledik 😊

Lakin bu kodu yazdığınızda direkt olarak erişme durumunda bağlantı hatası ile karşı karşıya kalacaksınız. Bunun sebebi ise dostlarım firewall üzerinde o portu açmadığınız içindir. Hemen onun komutlarını da sizle beraber yazalım

sudo firewall-cmd --zone=public --permanent --add-port=5671-5672/tcp
sudo firewall-cmd --zone=public --permanent --add-port=15672/tcp
sudo firewall-cmd --zone=public --permanent --add-port=1453/tcp

sudo firewall-cmd --reload

şeklinde komutlarını da yazalım. Burada da yaptığımız işlemlere bakacak olursak dostlarım belirtilen portları açtık. Daha sonrasında da reload komutu ile firewall'ı yeniledik. Daha sonrasında ssh üzerinde test için 

sudo firewall-cmd --list-all-zones

komutunu yazdığımızda karşımıza gelen sonuçlarda public kısmı altında

public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: dhcpv6-client ssh
  ports: 5671-5672/tcp 15672/tcp 1453/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

şeklinde sonuçlar görüyorsanız bingoooo işlem tamamlanmış olacaktır. Sonrasında ise dostlarım Google Chrome veya hangi tarayıcıyı kullanıyorsanız adres satırı kısmından

sunucu_ip_adresi:1453

komutunu yazdığımızda karşımıza

şeklinde sonuç bizi karşıladııı ve bingooo 💯. Bütün işlemlerimiz başarıyla sonuçlandı dostlarım 😊. Bütün işlem bu kadar. İşte docker rahatlığı bu 😊.

Eveeeet dostlarım bu yazımda sizlere elimden geldiğince dilim döndüğünce Centos 7 Üzerine RabbitMQ Kurulumu konusundan elimden geldiğince dilim döndüğünce bahsettim. Umarım faydalı olmuşumdur. Konu başlarda biraz karmaşık gelebilir. Hani her ne kadar da her yazımda basit dememin yanısıra karmaşık olan yanları illa ki vardır yeni öğrenen dostlarım için. Aynı yollardan geçtiğim için biliyorum anlıyorum. Size tavsiyem bu kısımda deneme yanılma için ufak bir sunucu alıp ve test domaini alıp onun üzerinde işlem yapmanız olacaktır. Ve aman dikkat yanlış paketlerle FTP'yi uçma noktasına getirmeyin.

Aynı zamanda 25 Aralık 2022 de kurmuş olduğum seyyaryazilimci.com soru cevap sitesi de yayında dostlarım haberiniz olsun. Her zaman dediğim gibi sorular ve cevaplar belirli bir süre admin onayından geçerek sistem üzerinde yayınlanmaktadır dostlarım bilginiz olsun😊.

Hayallerinizi gerçekleştirmeniz ve güzel yerlere gelmeniz dileklerimle... İyi çalışmalar dilerim 😊

Muhammed Fatih BAĞCIVAN
Yazar Hakkında

Kendi Halinde Bir Backend Developer

Önceki YazıVue.js Array Data Bindings İşlemi
Sonraki YazıVue.Js Event Handling İşlemi
Yorumlar (0)
Bu Yazıya Ait Hiçbir Yorum Bulunamadı (veya admin onaylamadı). İlk Yorum Yapan Sen Ol
Yorum Yapabilirsiniz