GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer RabbitMQ Server et Erlang sous Linux

RabbitMQ est un serveur de file d'attente de messages open source que vous pouvez utiliser pour créer vos applications de messagerie. En termes simples, vous pouvez placer un message dans la file d'attente à partir d'une application et récupérer le message de la file d'attente à partir de la même application ou d'une application différente. Vous pouvez utiliser une grande variété de langages de programmation pour vous connecter à RabbitMQ, créer et récupérer les messages.

Installer Erlang

Pour que RabbitMQ fonctionne, vous devez avoir installé Erlang sur votre système.

La version stable actuelle d'Erlang est R16B, qui peut être téléchargée sur le site Web d'Erlang.

cd /usr/save
wget http://www.erlang.org/download/otp_src_R16B.tar.gz
tar xvfz /usr/save/otp_src_R16B.tar.gz

Après avoir téléchargé Erlang, installez la version Erlang R16B à partir de la source comme indiqué ci-dessous.

cd otp_src_R16B
LANG=C; export LANG
./configure
make
make install

Vérifier Erlang

Maintenant, lorsque vous tapez erl à partir de la ligne de commande, vous devriez obtenir le shell Erlang comme indiqué ci-dessous. Cela indique que vous avez installé Erlang avec succès.

# erl
Erlang R16B (erts-5.10.1) [source] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V5.10.1  (abort with ^G)
1>
BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
       (v)ersion (k)ill (D)b-tables (d)istribution
a

Télécharger RabbitMQ

La version stable actuelle du serveur RabbitMQ est la 3.0.4. Lorsque vous accédez au site Web de RabbitMQ, vous verrez que les versions suivantes sont disponibles au téléchargement pour la plate-forme Linux :1) Debian / Ubuntu 2) Fedora / RHEL 3) Generic Unix 4) Solaris

Dans cet exemple, j'ai choisi RabbitMQ pour Generic Unix.

cd /usr/save
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.0.4/rabbitmq-server-generic-unix-3.0.4.tar.gz
tar xvfz rabbitmq-server-generic-unix-3.0.4.tar.gz
cd rabbitmq_server-3.0.4

Démarrer le serveur RabbitMQ

Démarrez le serveur RabbitMQ en passant l'option -tached comme indiqué ci-dessous.

# cd /usr/save/rabbitmq_server-3.0.4
# sbin/rabbitmq-server -detached
Warning: PID file not written; -detached was passed.

Si vous obtenez le message d'erreur could_not_start_tcp_listener lors du démarrage du serveur RabbitMQ, consultez la section de dépannage ci-dessous pour trouver une solution permettant de résoudre ce problème.

Vérifier le statut de RabbitMQ

Utilisez la commande rabbitmqctl pour vérifier l'état du serveur RabbitMQ et l'arrêter si nécessaire.

# sbin/rabbitmqctl status
Status of node 'rabbit@db-dev' ...
[{pid,30069},
{running_applications,[{rabbit,"RabbitMQ","3.0.4"},
                        {mnesia,"MNESIA  CXC 138 12","4.8"},
                        {os_mon,"CPO  CXC 138 46","2.2.11"},
                        {sasl,"SASL  CXC 138 11","2.3.1"},
                        {stdlib,"ERTS  CXC 138 10","1.19.1"},
                        {kernel,"ERTS  CXC 138 10","2.16.1"}]},
{os,{unix,linux}},
{erlang_version,"Erlang R16B (erts-5.10.1) [source] [smp:4:4] [async-threads:30] [hipe] [kernel-poll:true]\n"},
{memory,[{total,15087368},
          {connection_procs,1432},
          {queue_procs,2864},
          {plugins,0},
          {other_proc,4748681},
          {mnesia,30672},
          {mgmt_db,0},
          {msg_index,8652},
          {other_ets,369668},
          {binary,5976},
          {code,6973062},
          {atom,387397},
          {other_system,2558964}]},
{vm_memory_high_watermark,0.4},
{vm_memory_limit,1699810508},
{disk_free_limit,1000000000},
{disk_free,913096704},
{file_descriptors,[{total_limit,924},
                    {total_used,3},
                    {sockets_limit,829},
                    {sockets_used,1}]},
{processes,[{limit,1048576},{used,124}]},
{run_queue,0},
{uptime,6}]
...done.

Pour arrêter un serveur RabbitMQ, utilisez la commande rabbitmqctl comme indiqué ci-dessous.

# sbin/rabbitmqctl stop

Dépannage

Problème : Sur CentOS 6, si vous avez utilisé yum pour installer rabbitmq, ou à partir de la source comme expliqué ci-dessus, et si vous obtenez "BOOT FAILED {could_not_start_tcp_listener ,{“::”,5672}}”, vous pourriez avoir un problème de conflit de port.

Solution : Le package Matahari installé par défaut sur CentOS 6 s'exécute également sur le port 5672. Ce processus est lancé par défaut. Essayez d'arrêter le qpidd (démon Qpid AMQP) et voyez s'il résout le problème. Si vous n'avez pas besoin de Matahari, vous pouvez également désinstaller les packages matahari, matahari-broker, qpid-cpp-server-ssl et qpid-cpp-server.

Arrêtez le démon qpidd et désactivez-le au démarrage du système à l'aide de la commande chkconfig.

# chkconfig --list | grep -i qpid
qpidd           0:off   1:off   2:on    3:on    4:on    5:on    6:off

# service qpidd stop
Stopping Qpid AMQP daemon:                                 [  OK  ]

# chkconfig qpidd off

# chkconfig --list | grep -i qpid
qpidd           0:off   1:off   2:off   3:off   4:off   5:off   6:off

Maintenant, si vous démarrez le serveur RabbitMQ, cela devrait fonctionner.


Linux
  1. Comment installer Elasticsearch et Kibana sur Linux

  2. Comment installer et configurer cPanel sur un serveur Linux

  3. Comment installer CVS et créer un référentiel CVS sur un serveur Linux

  4. Comment installer et configurer le serveur et le client Linux NTP

  5. Comment installer Virtualization Linux Server

Comment installer et configurer Apache Webserver sur Oracle Linux 8

Comment installer et configurer le serveur Web Nginx sur Oracle Linux 8

Comment installer et configurer Django sur Linux VPS et Serveur Dédié ?

Comment installer et configurer un serveur Linux Ubuntu NFS

Comment installer l'extension PHP AMQP et le client RabbitMQ sous Linux

Comment installer et configurer le serveur DNS sous Linux