ubuntu14.04 rabbitmq安裝與使用 --修改RabbitMQ數據存儲位置

參考:https://blog.csdn.net/tianjiewang/article/details/58383062html

 

說明: ubuntu14.04   rabiitmq 默認 安裝路徑 /var/lib/rabbitmq/python

             默認 持久化路徑: /var/lib/rabbitmq/mnesianginx

   

       修改RabbitMQ數據存儲位置:web

方式一:json

1.1複製RabbitMQ存儲數據到/data/lib/rabbitmq,cp命令-p能夠將文件屬性也複製ubuntu

 

sudo cp -R -p /var/lib/rabbitmq /data/lib/rabbitmq

1.2.添加RabbitMQ環境變量文件vim

sudo vim /etc/rabbitmq/rabbitmq-env.conf

1.3 rabbitmq-env.conf文件內容,修改完文件,重啓RabbitMQ服務後端

RABBITMQ_MNESIA_BASE=/data/lib/rabbitmq/mnesia sudo service rabbitmq-server start

 

方式二: 直接修改path :服務器

須要將這些文件更換位置 1、先建立數據文件和日誌文件存放位置的目錄並給權限 mkdir -p /usr/local/rabbitmq/mnesia mkdir -p /usr/local/rabbitmq/log chmod -R 777 /usr/local/rabbitmq chown -R rabbitmq:rabbitmq  /usr/local/rabbitmq/mnesia chown -R rabbitmq:rabbitmq  /usr/local/rabbitmq/log 2、建立或新增環境參數配置文件 vi /etc/rabbitmq/rabbitmq-env.conf 增長以下兩行內容 RABBITMQ_MNESIA_BASE=/usr/local/rabbitmq/mnesia RABBITMQ_LOG_BASE=/usr/local/rabbitmq/log 保存,重啓 rabbitmq 服務

 

 

1. 配置文件 參考: https://blog.csdn.net/zhuchunyan_aijia/article/details/80800997 Rabbitmq的配置文件有三個,位於/etc/rabbitmq/, 這三個文件分別是: (1)enabled_plugins, 設置容許的插件列表,該配置文檔的格式爲erlang的列表格式如 [rabbitmq_management,rabbitmq_visualiser]. (2)rabbitmq.conf,設置rabbitmq的運行參數。該配置文件中的每一個參數爲一個erlang的 tuple,結構爲{Key,Value}, Key爲atom類型, Value爲一個term。其中幾個關鍵參數爲: tcp_listerners :設置rabbimq的監聽端口,默認爲[5672]。 disk_free_limit :磁盤低水位線,若磁盤容量低於指定值則中止接收數據,默認值爲 {mem_relative, 1.0},即與內存相關聯1:1,也可定製爲多少byte. vm_memory_high_watermark:設置內存低水位線,若低於該水位線,則開啓流控機制,默認值是0.4,即內存總量的40%。 hipe_compile :將部分rabbimq代碼用HighPerformance Erlang compiler編譯,可提高性能,該參數是實驗性,若出現erlang vm segfaults,應關掉。 force_fine_statistics, 該參數屬於rabbimq_management,若爲true則進行精細化的統計,但會影響性能。 (3)rabbitmq-env.conf rabbitmq的環境參數配置 RABBITMQ_NODE_PORT 端口設置,默認爲5672 RABBITMQ_NODENAME 節點名稱,默認爲rabbit MNESIA_BASE 後端存儲目錄,默認爲/var/lib/rabbitmq/mnesia LOG_BASE 日誌目錄,默認爲/var/log/rabbitmq/ http://www.rabbitmq.com/configure.html#define-environment-variables

 

 

 

 

 

 安裝:app

 

 

ubuntu安裝rabbitmq

echo 'deb http://www.rabbitmq.com/debian/ testing main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list
wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install rabbitmq-server

1
2
3
4

啓動RabbitMQ管理插件,用於web界面管理

sudo rabbitmq-plugins enable rabbitmq_management
service rabbitmq-server restart

1
2

測試安裝完成的RabbitMQ

sudo rabbitmqctl status

1

經常使用命令列舉

應用管理

rabbitmqctl status //顯示RabbitMQ中間件的全部信息
rabbitmqctl stop //中止RabbitMQ應用,關閉節點
rabbitmqctl stop_app //中止RabbitMQ應用
rabbitmqctl start_app //啓動RabbitMQ應用
rabbitmqctl restart //重置RabbitMQ節點
rabbitmqctl force_restart //強制重置RabbitMQ節點

1
2
3
4
5
6

用戶管理

rabbitmqctl add_user username password //添加用戶
rabbitmqctl delete_user username //刪除用戶
rabbitmqctl change_password username newpassword //修改密碼
rabbitmqctl list_users //列出全部用戶

1
2
3
4

權限控制管理

rabbitmqctl add_vhost vhostpath //建立虛擬主機
rabbitmqctl delete_vhost vhostpath //刪除虛擬主機
rabbitmqctl list_vhosts //列出全部虛擬主機
rabbitmqctl set_permissions [-p vhostpath] username <conf> <write> <read> //設置用戶權限
rabbitmqctl clear_permissions [-p vhostpath] username //刪除用戶權限
rabbitmqctl list_permissions [-p vhostpath] //列出虛擬機上的全部權限
rabbitmqctl list_user_permissions username //列出用戶權限

1
2
3
4
5
6
7

Web界面管理RabbitMQ

使用rabbitmq-plugins enable rabbitmq_management來啓動Management插件。 默認是能夠本地登陸localhost:15672,用戶名:guest;密碼:guest;端口默認15672。
服務器nginx配置

server {
listen 80;
index index.html index.htm;
# Make site accessible from http://localhost/
server_name rabbitmq.tlwlmy.com;

location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
# try_files $uri $uri/ =404;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
proxy_pass http://127.0.0.1:15672;
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

修改RabbitMQ數據存儲

複製RabbitMQ存儲數據到/data/lib/rabbitmq,cp命令-p能夠將文件屬性也複製

sudo cp -R -p /var/lib/rabbitmq /data/lib/rabbitmq

1

添加RabbitMQ環境變量文件

sudo vim /etc/rabbitmq/rabbitmq-env.conf

1

rabbitmq-env.conf文件內容,修改完文件,重啓RabbitMQ服務

RABBITMQ_MNESIA_BASE=/data/lib/rabbitmq/mnesia
sudo service rabbitmq-server start

1
2

服務器容許其餘服務器使用RabbitMQ服務,因爲guest默認是localhost使用的,須要另外建立用戶給外部服務器使用,可使用Web管理頁面添加用戶,也能夠經過命令添加用

建立用戶

sudo rabbitmqctl add_user tlwlmy password

1

設置用戶角色

sudo rabbitmqctl set_user_tags tlwlmy administrator

1

設置用戶權限

sudo rabbitmqctl set_permissions -p "/" tlwlmy ".*" ".*" ".*"

1

設置完成後能夠查看當前用戶和角色(須要開啓服務)

sudo rabbitmqctl list_users

1

其餘服務器訪問連接,192.168.1.3爲部署RabbitMQ服務內部ip地址

amqp://tlwlmy:tlwlmy@192.168.1.3:5672//

1

python測試例子

#!/user/bin/env python
# encoding: utf-8

from celery import Celery
celery = Celery(broker='amqp://tlwlmy:tlwlmy@192.168.1.3:5672//')

# 發送
celery.send_task('rabbitmq_test', ({'test': 'test'},), queue='test', compression='zlib', serializer='json')

1
2
3
4
5
6
7
8

注意

修改系統hostname後將會丟失舊數據和用戶,須要從新添加用戶

參考

官方安裝 官方配置 Networking and RabbitMQ RabbitMQ安裝和使用 設置RabbitMQ遠程ip登陸---------------------

相關文章
相關標籤/搜索