GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare RabbitMQ Server ed Erlang su Linux

RabbitMQ è un server di code di messaggi open source che puoi utilizzare per creare le tue applicazioni di messaggistica. In parole povere, puoi inserire un messaggio nella coda da un'applicazione e recuperare il messaggio dalla coda dalla stessa applicazione o da un'altra applicazione. Puoi utilizzare un'ampia varietà di linguaggi di programmazione per connetterti a RabbitMQ, creare e recuperare i messaggi.

Installa Erlang

Affinché RabbitMQ funzioni, devi avere Erlang installato sul tuo sistema.

L'attuale versione stabile di Erlang è R16B, che può essere scaricata dal sito Web di Erlang.

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

Dopo aver scaricato Erlang, installa la versione Erlang R16B dal sorgente come mostrato di seguito.

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

Verifica Erlang

Ora, quando digiti erl dalla riga di comando, dovresti ottenere la shell Erlang come mostrato di seguito. Ciò indica che hai installato Erlang correttamente.

# 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

Scarica RabbitMQ

L'attuale versione stabile del server RabbitMQ è 3.0.4. Quando vai al sito web RabbitMQ, vedrai le seguenti versioni disponibili per il download per la piattaforma Linux:1) Debian / Ubuntu 2) Fedora / RHEL 3) Generic Unix 4) Solaris

In questo esempio, ho scelto RabbitMQ per Unix generico.

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

Avvia RabbitMQ Server

Avvia il server RabbitMQ passando l'opzione -distaccato come mostrato di seguito.

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

Se ricevi il messaggio di errore Could_not_start_tcp_listener durante l'avvio del server RabbitMQ, consulta la sezione di risoluzione dei problemi di seguito per una soluzione su come risolvere questo problema.

Verifica lo stato RabbitMQ

Usa il comando rabbitmqctl per verificare lo stato del server RabbitMQ e per interromperlo se necessario.

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

Per arrestare un server RabbitMQ, usa il comando rabbitmqctl come mostrato di seguito.

# sbin/rabbitmqctl stop

Risoluzione dei problemi

Problema: Su CentOS 6, se hai usato yum per installare rabbitmq, o dal sorgente come spiegato sopra, e se ricevi "BOOT FAILED {could_not_start_tcp_listener ,{“::”,5672}}”, potresti avere un problema di conflitto di porte.

Soluzione: Il pacchetto Matahari installato per impostazione predefinita su CentOS 6, viene eseguito anche sulla porta 5672. Questo processo viene avviato per impostazione predefinita. Prova a fermare qpidd (daemon Qpid AMQP) e vedi se risolve il problema. Se non hai bisogno di Matahari, puoi anche disinstallare i pacchetti matahari, matahari-broker, qpid-cpp-server-ssl e qpid-cpp-server.

Arresta il demone qpidd e disabilitalo dall'avvio del sistema usando il 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

Ora, se avvii il server RabbitMQ, dovrebbe funzionare.


Linux
  1. Come installare Elasticsearch e Kibana su Linux

  2. Come installare e configurare cPanel su un server Linux

  3. Come installare CVS e creare un repository CVS su server Linux

  4. Come installare e configurare server e client NTP Linux

  5. Come installare il server Linux di virtualizzazione

Come installare e configurare il server Web Apache su Oracle Linux 8

Come installare e configurare il server Web Nginx su Oracle Linux 8

Come installare e configurare Django su VPS Linux e Server Dedicato?

Come installare e configurare un server NFS Ubuntu Linux

Come installare l'estensione PHP AMQP e il client RabbitMQ su Linux

Come installare e configurare il server DNS in Linux