Merhaba aşağıda rabbitmq centos 7 üzerinde kurulumunu kısaca anlatacağım.
Ama bundan önce kısaca rabbitmq nedir dersek bir mesaj kuyruk yönetim sistemi diyebiliriz. Bir kaynaktan gelen mesajı gideceği yere sırası geldiği zaman iletmesidir. Bu yazının devamında bizde bunun sıraya alma , sırası geldiği zaman işi yapma amacına yönelik PHP ile bir takım işler yaptıracağız. Ama bundan önce kurulumu nasıl yapılır ona bakalım.
Öncelikle bununla alakalı repomuzu çekiyoruz.
wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-3.6.1-1.noarch.rpm
Kurulum için gerekli olan key dosyasını çekiyoruz
rpm --import https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
Aşağıdaki komutla kurulumu tamamlıyoruz
yum install rabbitmq-server-3.6.1-1.noarch.rpm
Rabbitmq’nun çalışması için gerekli olan portları firewall’a ekliyoruz.
Sonrasında firewall’u restart ediyoruz
firewall-cmd --zone=public --permanent --add-port=4369/tcp --add-port=25672/tcp --add-port=5671-5672/tcp --add-port=15672/tcp --add-port=61613-61614/tcp --add-port=1883/tcp --add-port=8883/tcp firewall-cmd --reload
Aşağıdaki komut ile rabbitmq servisini başlatıp sonrasında durumunu kontrol ediyoruz.
systemctl start rabbitmq-server.service rabbitmqctl status
yum -y update
Hata verdiği durumlarda aşağıda komutları sırasıyla deniyoruz. Öncelikle 5672 no2lu portun firewall’a eklenmiş olduğundan emin olalım ve firewall’u tekrar restart edelim.
firewall-cmd --permanent --add-port=5672/tcp firewall-cmd --reload
Rabbitmq ilk kurulduğunda genellikle conf dosyası oluşmaz eğer yoksa aşağıdaki komut ile conf dosyasını oluşturup içerisine Hostname ekliyoruz.Sonrasında kaydetmeyi unutmayın
nano /etc/rabbitmq/rabbitmq-env.conf HOSTNAME=localhost
Yukarıdaki işlemleri başarılı şekilde yaptıysanız aşağıdaki komutlarla Rabbitmq çalışacaktır. Çalışmadığı durumlarda server restart edip tekrar durumunu kontrol edin.
systemctl enable rabbitmq-server systemctl start rabbitmq-server.service
Eğer kurulumu doğru bir şekilde yaptıysanız yaklaşık aşağıdaki gibi bir çıktı elde edeceksiniz.
rabbitmqctl status
Status of node rabbit@localhost ...
[{pid,10682},
{running_applications,[{rabbit,"RabbitMQ","3.6.1"},
{mnesia,"MNESIA CXC 138 12","4.11"},
{os_mon,"CPO CXC 138 46","2.2.14"},
{rabbit_common,[],"3.6.1"},
{xmerl,"XML parser","1.3.6"},
{ranch,"Socket acceptor pool for TCP protocols.",
"1.2.1"},
{sasl,"SASL CXC 138 11","2.3.4"},
{stdlib,"ERTS CXC 138 10","1.19.4"},
{kernel,"ERTS CXC 138 10","2.16.4"}]},
{os,{unix,linux}},
{erlang_version,"Erlang R16B03-1 (erts-5.10.4) [source] [64-bit] [smp:4:4] [async-threads:64] [hipe] [kernel-poll:true]\n"},
{memory,[{total,42097488},
{connection_readers,0},
{connection_writers,0},
{connection_channels,0},
{connection_other,0},
{queue_procs,2800},
{queue_slave_procs,0},
{plugins,0},
{other_proc,18803696},
{mnesia,60536},
{mgmt_db,0},
{msg_index,53200},
{other_ets,911856},
{binary,22832},
{code,17130829},
{atom,654217},
{other_system,4457522}]},
{alarms,[]},
{listeners,[{clustering,25672,"::"},{amqp,5672,"::"}]},
{vm_memory_high_watermark,0.4},
{vm_memory_limit,1589339750},
{disk_free_limit,50000000},
{disk_free,35743449088},
{file_descriptors,[{total_limit,924},
{total_used,2},
{sockets_limit,829},
{sockets_used,0}]},
{processes,[{limit,1048576},{used,140}]},
{run_queue,0},
{uptime,12773},
{kernel,{net_ticktime,60}}]
Sonraki yazı centos 7 üzerinde php ile rabbitmq nasıl kullanılır.