Linux下RabbitMQ安裝、運行與管理
安裝erlang
RabbitMQ的安裝需要Erlang的基礎環境,必須按照RabbitMQ Erlang版本要求進行安裝。
關於Erlang官方的安裝方式有三種: 官方制作的依賴軟件包 Erlang Solutions的軟件包(這個可以自定義yum庫安裝,本人自己下載安裝) EPEL(“Enterprise Linux的額外軟件包”)
1.依賴環境安裝
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC unixODBC-devel httpd python-simplejson
2.獲取安裝文件
wget http://erlang.org/download/otp_src_19.2.tar.gz
3.解壓erlang安裝包
tar -xzvf otp_src_19.2.tar.gz
4. cd erlang目錄
cd otp_src_19.2
5.編譯安裝erlang語言環境--prefix=/usr/local/erlang為安裝目錄
./configure --prefix=/usr/local/erlang
6.編譯安裝
make && make install
7.配置環境變量
vi /etc/profile export PATH=$PATH:/usr/local/erlang/bin source /etc/profile
8.驗證是否安裝成功
erl
安裝RabbitMQ
安裝指南 安裝版本選擇:
1.cd到指定目錄
cd /usr/local //切換到計划安裝RabbitMQ的目錄,我這里放在/usr/local
2.下載
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-generic-unix-3.6.1.tar.xz //下載RabbitMQ安裝包
3.解壓
xz -d rabbitmq-server-generic-unix-3.6.1.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.6.1.tar
4.改名
mv rabbitmq_server-3.6.1/ rabbitmq
5.配置rabbitmq環境變量
vi /etc/profile #set rabbitmq environment export PATH=$PATH:/usr/local/rabbitmq/sbin source /etc/profile
RabbitMQ 運行和管理
運行常用命令
//常用的rabbitmq的命令 service rabbitmq-server start service rabbitmq-server stop service rabbitmq-server status service rabbitmq-server rotate-logs| service rabbitmq-server restart service rabbitmq-server condrestart service rabbitmq-server try-restart service rabbitmq-server reload service rabbitmq-server force-reload service rabbitmq-server -detached //后台啟動 ps -ef | grep rabbitmq 查看rabbitMq進程 netstat -anplt | grep LISTEN rabbitmq默認監聽端口15672/5672
web管理
15672 網頁管理, 5672 AMQP端口
rabbitmq默認創建的用戶guest,密碼也是guest,這個用戶默認只能是本機訪問,localhost或者127.0.0.1,從外部訪問需要添加上面的配置。
//先創建目錄,以免報錯
mkdir /etc/rabbitmq
//開啟管理頁面插件
rabbitmq-plugins enable rabbitmq_management
管理插件安裝完成后,出現如下提示,表示安裝成。 The following plugins have been enabled: mochiweb webmachine rabbitmq_web_dispatch amqp_client rabbitmq_management_agent rabbitmq_management Plugin configuration has changed. Restart RabbitMQ for changes to take effect.
重啟rabbitmq服務
service rabbitmq-server restart
可以用瀏覽器輸入localhost:15672,賬號密碼全輸入guest即可登錄
配置防火牆
配置linux 端口 15672 網頁管理 5672 AMQP端口:
firewall-cmd --permanent --add-port=15672/tcp firewall-cmd --permanent --add-port=5672/tcp systemctl restart firewalld.service
管理常用命令
查看mq用戶:rabbitmqctl list_users 查看用戶權限:rabbitmqctl list_user_permissions guest 新增用戶: rabbitmqctl add_user admin 123456 賦予管理員權限: rabbitmqctl set_user_tags admin administrator rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
可以創建管理員用戶,負責整個MQ的運維,例如: rabbitmqctl add_user user_admin passwd_admin 賦予其administrator角色: rabbitmqctl set_user_tags user_admin administrator 可以創建RabbitMQ監控用戶,負責整個MQ的監控,例如: rabbitmqctl add_user user_monitoring passwd_monitor 賦予其monitoring角色: rabbitmqctl set_user_tags user_monitoring monitoring 可以創建某個項目的專用用戶,只能訪問項目自己的virtual hosts sudo rabbitmqctl add_user user_proj passwd_proj 賦予其monitoring角色: rabbitmqctl set_user_tags user_proj management 創建和賦角色完成后查看並確認: rabbitmqctl list_users
RabbitMQ用戶角色及權限控制 1.RabbitMQ的用戶角色分類: none、management、policymaker、monitoring、administrator 2.RabbitMQ各類角色描述: none 不能訪問 management plugin management 用戶可以通過AMQP做的任何事外加: 列出自己可以通過AMQP登入的virtual hosts 查看自己的virtual hosts中的queues, exchanges 和 bindings 查看和關閉自己的channels 和 connections 查看有關自己的virtual hosts的“全局”的統計信息,包含其他用戶在這些virtual hosts中的活動。 policymaker management可以做的任何事外加: 查看、創建和刪除自己的virtual hosts所屬的policies和parameters monitoring management可以做的任何事外加: 列出所有virtual hosts,包括他們不能登錄的virtual hosts 查看其他用戶的connections和channels 查看節點級別的數據如clustering和memory使用情況 查看真正的關於所有virtual hosts的全局的統計信息 administrator policymaker和monitoring可以做的任何事外加: 創建和刪除virtual hosts 查看、創建和刪除users 查看創建和刪除permissions 關閉其他用戶的connections