CentOs7.3ビルドRabbitMQ3.6スタンドアロンサービス

CentOs7.3ビルドRabbitMQ3.6スタンドアロンサービス#

RabbitMQの紹介##

RabbitMQはAMQPのオープンソース実装です。サーバーはErlang言語で記述されており、Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMPなどのさまざまなクライアントをサポートし、AJAXをサポートします。分散システムでメッセージを保存および転送するために使用され、使いやすさ、スケーラビリティ、および高可用性の点で優れたパフォーマンスを発揮します。

AMQP、つまりAdvanced message Queuing Protocol、Advanced [Message Queuing](https://cloud.tencent.com/product/cmq?from=10680)プロトコルは、メッセージ指向のミドルウェア用に設計された、アプリケーション層プロトコルのオープンスタンダードです。メッセージミドルウェアは主にコンポーネント間の分離に使用され、メッセージの送信者はメッセージユーザーの存在を知る必要はありません。その逆も同様です。

AMQPの主な特徴は、メッセージ指向、キュー、ルーティング(ポイントツーポイントおよび公開/サブスクライブを含む)、信頼性、およびセキュリティです。

周囲##

予防##

ファイアウォールをオフにする

Centos 6.x close iptables

$ service iptables stop #コマンドを閉じる:

Centos7.xクローズファイアウォール

$ systemctl stop firewalld.service #ファイアウォールを停止します

ファイアウォールをオフにしたくない場合は、ポート15672を開くだけです。設定後、Webを介してMQを管理できます。

iptablesファイアウォールをインストールします

yum install iptables-services

構成の編集

$ vi /etc/sysconfig/iptables-config

構成を追加する

iptables -I INPUT -p tcp --dport 5672-j ACCEPT
iptables -I INPUT -p tcp --dport 15672-j ACCEPT

構成を保存する

$ service iptables save

リブート

systemctl restart iptables.service

自動起動を設定する

systemctl enable iptables.service 

[ CentOS7.3インストールiptablesと詳細な使用法https://segmentfault.com/a/1190000010713423](https://segmentfault.com/a/1190000010713423)

インストール#

Erlangをインストールします##

RabbitMQのインストールはErlang環境に依存する必要があります

$ cd /opt
$ wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el7.centos.x86_64.rpm

$ yum install erlang-19.0.4-1.el7.centos.x86_64.rpm

RabbitMQをインストールします##

$ cd /opt
$ wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm
$ yum install rabbitmq-server-3.6.10-1.el7.noarch.rpm

サービス開始##

$ service rabbitmq-server start

サービスステータス##

$ service rabbitmq-server status
# service rabbitmq-server status
Redirecting to /bin/systemctl status  rabbitmq-server.service
● rabbitmq-server.service - RabbitMQ broker
 Loaded:loaded(/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled)
 Active:active(running) since Wed 2017-08-1611:43:33 CST; 8s ago
 Main PID:17919(beam)
 Status:"Initialized"
 CGroup:/system.slice/rabbitmq-server.service
   ├─17919/usr/lib64/erlang/erts-8.0.3/bin/beam -W w -A 64-P 1048576-t 5000000-stbt db -zdbbl 32000-K true---root /usr/lib64/erlang -progname erl ---home /var/lib/rabbitmq ---pa /us...
   ├─18062/usr/lib64/erlang/erts-8.0.3/bin/epmd -daemon
   ├─18160 erl_child_setup 1024
   ├─18165 inet_gethost 4
   └─18166 inet_gethost 4

Aug 1611:43:32 localhost.localdomain rabbitmq-server[17919]: RabbitMQ 3.6.10.Copyright(C)2007-2017 Pivotal Software, Inc.
Aug 1611:43:32 localhost.localdomain rabbitmq-server[17919]: ##  ##      Licensed under the MPL.  See http://www.rabbitmq.com/
Aug 1611:43:32 localhost.localdomain rabbitmq-server[17919]: ##  ##
Aug 1611:43:32 localhost.localdomain rabbitmq-server[17919]: ##########  Logs:/var/log/rabbitmq/[email protected]
Aug 1611:43:32 localhost.localdomain rabbitmq-server[17919]: ######  ##        /var/log/rabbitmq/[email protected]
Aug 1611:43:32 localhost.localdomain rabbitmq-server[17919]: ##########
Aug 1611:43:32 localhost.localdomain rabbitmq-server[17919]: Starting broker...
Aug 1611:43:33 localhost.localdomain rabbitmq-server[17919]: systemd unit for activation check:"rabbitmq-server.service"
Aug 1611:43:33 localhost.localdomain systemd[1]: Started RabbitMQ broker.
Aug 1611:43:33 localhost.localdomain rabbitmq-server[17919]: completed with0 plugins.

ビュー・ログ##

$ less /var/log/rabbitmq/[email protected]
= INFO REPORT====16-Aug-2017::11:43:32===
Starting RabbitMQ 3.6.10 on Erlang 19.0.4Copyright(C)2007-2017 Pivotal Software, Inc.
Licensed under the MPL.  See http://www.rabbitmq.com/=INFO REPORT====16-Aug-2017::11:43:32===
node           : rabbit@localhost
home dir       :/var/lib/rabbitmq
config file(s):/etc/rabbitmq/rabbitmq.config(not found)
cookie hash    : kuUba2xGLitNNO48qE0Hrg==
log            :/var/log/rabbitmq/[email protected]
sasl log       :/var/log/rabbitmq/[email protected]
database dir   :/var/lib/rabbitmq/mnesia/rabbit@localhost

= INFO REPORT====16-Aug-2017::11:43:33===
Memory limit set to 390MB of 976MB total.=INFO REPORT====16-Aug-2017::11:43:33===
Enabling free disk space monitoring

= INFO REPORT====16-Aug-2017::11:43:33===
Disk free limit set to 50MB

= INFO REPORT====16-Aug-2017::11:43:33===
Limiting to approx 924 file handles(829 sockets)=INFO REPORT====16-Aug-2017::11:43:33===
FHC read buffering:  OFF
FHC write buffering: ON

= INFO REPORT====16-Aug-2017::11:43:33===
Database directory at /var/lib/rabbitmq/mnesia/rabbit@localhost is empty. Initialising from scratch...=INFO REPORT====16-Aug-2017::11:43:33===
Waiting for Mnesia tables for30000 ms,9 retries left

= INFO REPORT====16-Aug-2017::11:43:33===
Waiting for Mnesia tables for30000 ms,9 retries left

ここに表示されている構成ファイルが見つかりません。このファイルは自分で作成できます

config file(s):/etc/rabbitmq/rabbitmq.config(not found)

**rabbitmq.config **を作成します

$ cd /etc/rabbitmq/
$ vi rabbitmq.config

編集内容は以下のとおりです。

[{ rabbit,[{loopback_users,[]}]}].

構成を保存した後、サービスを再起動します

$ service rabbitmq-server restart

管理UIを開きます##

$ /sbin/rabbitmq-plugins enable rabbitmq_management

サービスを再開します

$ service rabbitmq-server restart

アクセス管理UI

http:// ip:15672を介してゲストを使用し、ゲストはログインします

アクセスできない場合は、ファイアウォールを確認してください

許可された操作#

ユーザーを追加する##

セキュリティ上の理由から、ゲストのデフォルトユーザーは http:// localhost:15672を介してのみログインでき、他のIPはこのアカウントを直接使用できません。デスクトップがサーバーにインストールされていない状況を管理および維持することは不可能です。外部にサービスを提供するためにエージェントのレイヤーを前面に追加しない限り、これは少し面倒です。この機能を実現するための構成ファイルを次に示します。

コマンドフォーマット

rabbitmqctl add_user <username><newpassword>
$ rabbitmqctl add_user ymq 123456
Creating user "ymq"

ユーザーを削除##

コマンドフォーマット

rabbitmqctl delete_user <username>
$ rabbitmqctl  delete_user penglei
Deleting user "penglei"

パスワードを変更する##

コマンドフォーマット

rabbitmqctl  change_password  <username><newpassword>
$ rabbitmqctl  change_password  ymq 123456
Changing password for user "ymq"

ユーザー認証##

コマンドフォーマット

rabbitmqctl set_permissions [-pvhostpath]{user}{conf}{write}{read}

このコマンドを使用すると、ユーザーymq /(仮想ホストにアクセスできます)は、すべてのリソースのリソースを管理するために、すべてのリソースのアクセス許可を構成、書き込み、および読み取ることができます。

$ rabbitmqctl set_permissions -p "/" ymq ".*"".*"".*"
Setting permissions for user "ymq"in vhost "/"

ユーザー認証を表示する##

コマンドフォーマット

rabbitmqctl  list_permissions  [-p  VHostPath]
$ rabbitmqctl list_permissions -p /
Listing permissions in vhost "/"
guest	.*.*.*
ymq	.*.*.*

現在のユーザーリストを表示##

ユーザーが正常に追加されたことがわかりますが、これは「管理者」の役割ではありません。

$ rabbitmqctl list_users
Listing users
guest	[administrator]
ymq	[]

役割を追加##

ここでは、ymqユーザーを administratorロールに設定します

コマンドフォーマット

rabbitmqctl set_user_tags <username><tag>
$ rabbitmqctl set_user_tags ymq administrator
Setting tags for user "ymq" to [administrator]

権限をもう一度確認してください

$ rabbitmqctl list_users
Listing users
guest	[administrator]
ymq	[administrator]

許可情報を明確にする

コマンドフォーマット

rabbitmqctl  clear_permissions  [-p VHostPath]  ymq
rabbitmqctl  clear_permissions  -p /  ymq
Clearing permissions for user "ymq"in vhost "/"

公式文書##

バックグラウンド操作#

新しいユーザーにログイン##

ymqとguestが同じ権限を持っていることがわかります

ユーザーを追加する##

マウスでクリックして赤い線を引き、1つ選択します

権限の設定##

ユーザーには、仮想ホストにアクセスする権限がありません

[権限の設定]をクリックします

Contact

Recommended Posts

CentOs7.3ビルドRabbitMQ3.6スタンドアロンサービス
CentOs7.3ビルドSolrスタンドアロンサービス
CentOs7.3ビルドZooKeeper-3.4.9スタンドアロンサービス
Centos6.9ビルドrabbitmq3.6.8クラスター
CentOS7はRabbitMQサービスを展開します
Centos7ビルドDNSサービス
CentOs7.3ビルドSolrCloudクラスターサービス
CentOSに基づいてWeChatアップルトサービスを構築する
CentOSに基づいてWeChatアップルトサービスを構築する
CentOS7ビルドジェンキンス
Centosビルドlnmp
Centos7ビルドpython3.8.5 + scrapy + gerapy
centOsはrabbitMQをインストールします
CentOS7ビルドジェリットコードレビューサービスメソッド
centos6.9rabbitmq3.6.8アップグレード3.8.2
CentOS7.3 64ビット、ビルドZabbix3.4
CentOSオンラインインストールRabbitMQ3.7
CentOSビルドプライベートgit
CentOS8はNTPサービスを有効にします
Linux(centos7)ビルドgitlab
centos7でk8s1.9.9をビルドする
CentOS6.7ビルドLNMP環境
CentOS7はDockerサービスをインストールします
Centos7.6ビルドLNMP環境
CentOS7にRabbitMQをインストールします
CentOS7はsaltstackサービスを展開します
Centos7ビルドKubernetesクラスター
Centos7.4はスタンドアロンSparkをインストールします
ジェンキンスはセントスに基づいて構築されています
CentOSでHadoopを構築する
CentOS7はNFSサービスを展開します
Centos6.8はvncサービスを展開します
セントスにRabbitMQをインストールする
CentOS7にRabbitMQをインストールします
CentOSオンラインインストールRabbitMQ3.7
CentOS7にRabbitMQをインストールします
CentOS7ビルドLNMP環境
CentOS7デプロイvsftp(FTP)サービス
Centos6.5でドッカー環境を構築する
CentOS7でOpenV **サーバーを構築する
CentOS7.6でzabbixモニタリングzabbix4.2をビルドする
CentOS7でOpenLDAPサーバーを構築する
CentOS7インストールrabbitmqクラスター(バイナリ)
CentOS7.6でzabbixモニタリングzabbix4.2をビルドする
CentOSでMariaDBレプリケーションを構築する
Centos7.2展開vncサービスレコード
centos6.9rabbitmqがSSLを設定
CentOS6はRabbitMQスクリプトを自動的にインストールします
Centos7インストールjdkおよびパッケージサービスサービス
CentOS 7はNTP、SSHサービスをセットアップします
Centos6.9でのRabbitMQクラスター展開レコード
CentOS8.1ビルドGitlabサーバーの詳細なチュートリアル
CentOS8でPXCクラスターを構築する
CentOSはクラウドサービスプラットフォームを構築します
CentOS8-NFSサービスをインストールして構成する
gitlabを構築するためのCentos6メソッドの手順
centos7でFTPサーバーを構築する
dockerに基づいてElasticsearch6.2.4(centos)を構築する
LinuxでNginx環境を構築する(CentOS)
CentOS 7Tomcatサービスのインストールと構成
(centos7)linuxビルドnginxロードバランシングビルド