1. 程式人生 > >window下rabbitmq環境安裝

window下rabbitmq環境安裝

bsp 內部 stop 一個 是把 strong 帳號 onf user

最近項目想用個MQ來做業務分離,看了市面上眾多產品,最後選了rabbitmq,理由很簡單,對window的支持很到位(其實是公司的系列產品都是.net的)。

安裝方法什麽的就不說了,直接到官網下載雙擊安裝就可以。

如果全部都使用默認配置,你將不會遇到任何阻礙。

安裝之後設置一下帳號信息,抄了網上的一個方子:

REM 開啟網頁版管理平臺
rabbitmq-plugins.bat enable rabbitmq_management REM 
添加一個帳號 密碼
rabbitmqctl.bat add_user lijinan lijinan REM 

添加角色
rabbitmqctl.bat set_user_tags lijinan administrator REM 

添加權限
rabbitmqctl.bat set_permissions -p /  lijinan ".*" ".*" ".*"

  

設置好之後,你可以到 http://localhost:15672 看到爽歪歪的管理界面,按官網給出的C#解決方法,嗯,一切順利,發送,接收都是如此的完美

在本地試過沒問題之後,於是就安裝到了公司內部服務器

因為公司網絡有端口限制,防火墻只開了有限的端口,默認的5672和15672是用不了的,正常流程是找IT開端口,但為是省事,想直接通過修改rabbitmq的配置文件,把默認端口改為公司允許的端口,比如我是要改到8008。

於是就開始了修改配置,這裏面遇多了一些坑,總結一下:

1. rabbitmq.config默認是沒有生成的,只有一個rabbitmq.config.example,需要自己建一個,其實就是把.example拿掉就是了

2. rabbitmq.config目錄並非安裝目錄下面的etc,默認是在 C:\Users\%USERNAME%\AppData\Roaming\RabbitMQ 下,這一點在安裝目錄下面的etc目錄下的readme.txt中有說明。

3. rabbitmq.config的數據格式類似json,但並非json。其中端口號是以下這行

%% {tcp_listeners, [5672]},

很多人以為只需把 %% 拿掉保存就OK了。但其實後面還有一個小逗號,需要註意,如果當前大節點下面就這一個節點,這個逗號是必須拿掉的。

如果這是json格式,後面的小逗號是無關緊要的。但可惜,這是erlang。

4. 其次,修改了配置文件後,不能只是重啟服務。而需要到安裝目錄下面的sbin

執行 rabbitmq-service.bat stop 停止服務

執行 rabbitmq-service.bat install 重新安裝服務,這時才會重新加載config文件

執行 rabbitmq-service.bat start 開啟服務
5. 所有的命令行操作,都必須在管理員的權限下進行

6. 如果config有問題,服務是啟動不起來的,而且錯誤信息也是很難發現的。

7. 所有config的修改,都必須修改好後,執行第4步

8. 如果是通過環境變量設置config所在目錄,一定要註意,環境變量 RABBITMQ_CONFIG_FILE, 這個變量並非是config所在目錄,也不是config的全路徑。

如你想設置config為 D:\RabbitMQ\rabbitmq.config,則 RABBITMQ_CONFIG_FILE=D:\RabbitMQ\rabbitmq ,因為rabbitmq會自動在變量值後面加上.config後綴

window下rabbitmq環境安裝