GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren Sie RabbitMQ Server und Erlang unter Linux

RabbitMQ ist ein Open-Source-Server für Nachrichtenwarteschlangen, mit dem Sie Ihre Messaging-Anwendungen erstellen können. Einfach ausgedrückt können Sie eine Nachricht von einer Anwendung in die Warteschlange stellen und die Nachricht von derselben Anwendung oder von einer anderen Anwendung aus der Warteschlange abrufen. Sie können eine Vielzahl von Programmiersprachen verwenden, um sich mit RabbitMQ zu verbinden, Nachrichten zu erstellen und abzurufen.

Erlang installieren

Damit RabbitMQ funktioniert, muss Erlang auf Ihrem System installiert sein.

Die aktuelle stabile Version von Erlang ist R16B, die von der Erlang-Website heruntergeladen werden kann.

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

Installieren Sie nach dem Herunterladen von Erlang die Erlang R16B-Version von der Quelle, wie unten gezeigt.

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

Erlang bestätigen

Wenn Sie nun erl über die Befehlszeile eingeben, sollten Sie die Erlang-Shell erhalten, wie unten gezeigt. Dies zeigt an, dass Sie Erlang erfolgreich installiert haben.

# 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

KaninchenMQ herunterladen

Die aktuelle stabile Version des RabbitMQ-Servers ist 3.0.4. Wenn Sie auf die RabbitMQ-Website gehen, sehen Sie, dass die folgenden Versionen für die Linux-Plattform zum Download verfügbar sind:1) Debian / Ubuntu 2) Fedora / RHEL 3) Generic Unix 4) Solaris

In diesem Beispiel habe ich RabbitMQ für Generic Unix ausgewählt.

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

RabbitMQ-Server starten

Starten Sie den RabbitMQ-Server, indem Sie die Option -detached wie unten gezeigt übergeben.

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

Wenn Sie beim Starten des RabbitMQ-Servers die Fehlermeldung could_not_start_tcp_listener erhalten, finden Sie im Abschnitt Fehlerbehebung unten eine Lösung zur Behebung dieses Problems.

KaninchenMQ-Status überprüfen

Verwenden Sie den Befehl rabbitmqctl, um den Status des RabbitMQ-Servers zu überprüfen und ihn bei Bedarf zu stoppen.

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

Verwenden Sie zum Stoppen eines RabbitMQ-Servers den Befehl rabbitmqctl wie unten gezeigt.

# sbin/rabbitmqctl stop

Fehlerbehebung

Problem: Wenn Sie unter CentOS 6 yum verwendet haben, um rabbitmq zu installieren, oder wie oben beschrieben von der Quelle, und wenn Sie „BOOT FAILED {could_not_start_tcp_listener“ erhalten ,{“::”,5672}}” angezeigt, liegt möglicherweise ein Portkonflikt vor.

Lösung: Matahari-Paket, das standardmäßig auf CentOS 6 installiert wird, wird auch auf Port 5672 ausgeführt. Dieser Prozess wird standardmäßig gestartet. Versuchen Sie, qpidd (Qpid AMQP-Daemon) zu stoppen, und prüfen Sie, ob das Problem dadurch behoben wird. Wenn Sie Matahari nicht benötigen, können Sie auch die Pakete matahari, matahari-broker, qpid-cpp-server-ssl und qpid-cpp-server deinstallieren.

Stoppen Sie den qpidd-Daemon und deaktivieren Sie ihn beim Systemstart mit dem Befehl 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

Wenn Sie jetzt den RabbitMQ-Server starten, sollte es funktionieren.


Linux
  1. So installieren Sie Elasticsearch und Kibana unter Linux

  2. So installieren und richten Sie cPanel auf einem Linux-Server ein

  3. So installieren Sie CVS und erstellen ein CVS-Repository auf einem Linux-Server

  4. So installieren und konfigurieren Sie Linux NTP-Server und -Client

  5. So installieren Sie den Virtualisierungs-Linux-Server

So installieren und konfigurieren Sie Apache Webserver unter Oracle Linux 8

So installieren und konfigurieren Sie den Nginx-Webserver unter Oracle Linux 8

Wie installiere und konfiguriere ich Django auf Linux VPS und Dedicated Server?

So installieren und konfigurieren Sie einen Linux Ubuntu NFS-Server

So installieren Sie die AMQP-PHP-Erweiterung und den RabbitMQ-Client unter Linux

So installieren und konfigurieren Sie den DNS-Server unter Linux