GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar el servidor RabbitMQ y Erlang en Linux

RabbitMQ es un servidor de cola de mensajes de código abierto que puede usar para crear sus aplicaciones de mensajería. En términos simples, puede colocar un mensaje en la cola desde una aplicación y recuperar el mensaje de la cola desde la misma aplicación o desde una aplicación diferente. Puede usar una amplia variedad de lenguajes de programación para conectarse a RabbitMQ, crear y recuperar los mensajes.

Instalar Erlang

Para que RabbitMQ funcione, debe tener Erlang instalado en su sistema.

La versión estable actual de Erlang es R16B, que se puede descargar desde el sitio web de Erlang.

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

Después de descargar Erlang, instale la versión Erlang R16B desde la fuente como se muestra a continuación.

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

Verificar Erlang

Ahora, cuando escriba erl desde la línea de comando, debería obtener Erlang Shell como se muestra a continuación. Esto indica que ha instalado Erlang con éxito.

# 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

Descargar RabbitMQ

La versión estable actual del servidor RabbitMQ es 3.0.4. Cuando vaya al sitio web de RabbitMQ, verá que las siguientes versiones están disponibles para descargar para la plataforma Linux:1) Debian/Ubuntu 2) Fedora/RHEL 3) Unix genérico 4) Solaris

En este ejemplo, he elegido RabbitMQ para 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

Iniciar servidor RabbitMQ

Inicie el servidor RabbitMQ pasando la opción separada como se muestra a continuación.

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

Si recibe el mensaje de error could_not_start_tcp_listener, mientras inicia el servidor RabbitMQ, consulte la sección de solución de problemas a continuación para obtener una solución sobre cómo solucionar este problema.

Verificar el estado de RabbitMQ

Use el comando rabbitmqctl para verificar el estado del servidor RabbitMQ y detenerlo si es necesario.

# 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.

Para detener un servidor RabbitMQ, use el comando rabbitmqctl como se muestra a continuación.

# sbin/rabbitmqctl stop

Resolución de problemas

Problema: En CentOS 6, si usó yum para instalar rabbitmq, o desde la fuente como se explicó anteriormente, y si obtiene "BOOT FAILED {could_not_start_tcp_listener ,{“::”,5672}}”, es posible que tenga un problema de conflicto de puerto.

Solución: El paquete Matahari que se instala de forma predeterminada en CentOS 6, también se ejecuta en el puerto 5672. Este proceso se inicia de forma predeterminada. Intente detener el qpidd (demonio Qpid AMQP) y vea si resuelve el problema. Si no necesita Matahari, también puede desinstalar los paquetes matahari, matahari-broker, qpid-cpp-server-ssl y qpid-cpp-server.

Detenga el demonio qpidd y desactívelo desde el inicio del sistema usando el comando 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

Ahora, si inicia el servidor RabbitMQ, debería funcionar.


Linux
  1. Cómo instalar Elasticsearch y Kibana en Linux

  2. Cómo instalar y configurar cPanel en un servidor Linux

  3. Cómo instalar CVS y crear un repositorio CVS en un servidor Linux

  4. Cómo instalar y configurar el servidor y el cliente NTP de Linux

  5. Cómo instalar un servidor Linux de virtualización

Cómo instalar y configurar el servidor web Apache en Oracle Linux 8

Cómo instalar y configurar el servidor web Nginx en Oracle Linux 8

¿Cómo instalar y configurar Django en Linux VPS y Servidor Dedicado?

Cómo instalar y configurar un servidor Linux Ubuntu NFS

Cómo instalar la extensión PHP AMQP y el cliente RabbitMQ en Linux

Cómo instalar y configurar el servidor DNS en Linux