前言web
項目中某些場景考慮到高併發狀況,調研後決定使用RabbitMQ,原本覺得很簡單,沒想到配置環境花費了好多時間,按照網上的方法來,老是有其餘問題須要繼續查找,特記錄此筆記,方便下次部署安裝。瀏覽器
本筆記只記錄安裝過程,不探討RabbitMQ技術。cookie
準備併發
使用RabbitMQ,除了要安裝RabbitMQ外,還必須安裝Erlang,因爲RabbitMQ使用Erlang語言編寫,因此必須先安裝Erlang語言運行環境。
1.Erlang下載:http://www.erlang.org/downloads
2.RabbitMQ下載:http://www.rabbitmq.com/
另外先提一下,Erlang和RabbitMQ安裝好須要添加到系統的環境變量中,由於這個花費了我一些時間。高併發
Erlang安裝工具
1.安裝
下載完Erlang以後,打開安裝包後,一步步安裝完成,這裏沒什麼須要注意的地方。spa
2.設置環境變量
找到Erlang的安裝路徑打開到bin文件夾下,注意此路徑。‘
右鍵個人電腦,選擇屬性,找到高級系統設置,點開後選擇高級裏的環境變量。插件
找到系統變量中的Path,點擊編輯3d
新建環境變量,添加路徑,能夠直接複製打開的Erlang的bin路徑。code
3.檢查Erlang是否安裝成功
打開cmd,輸入 erl 後回車,若是能顯示版本信息,代表安裝成功。
RabbitMQ安裝
1.解壓下載好的RabbitMQ
2.配置環境變量
找到RabbitMQ的安裝路徑打開到sbin文件夾下,注意此路徑。
同Erlang的環境變量添加,新建路徑,添加到系統變量的Path中
3.CMD中安裝、啓動服務
使RabbitMQ以Windows Service的方式在後臺運行,打開CMD,定位到RabbitMQ的sbin目錄下。(快捷方法:在sbin目錄裏按住shift+右鍵,選擇在此處打開命令窗口)
執行:
rabbitmq-service install rabbitmq-service enable rabbitmq-service start
注意,CMD須要管理員權限,不然會報錯Unable to register service with service manager. Error: Access is denied.
執行完成後,顯示以下信息,表示RabbitMQ的服務端已經啓動起來了。
而後,能夠用rabbitmqctl這個腳本查看和控制RabbitMQ服務端的狀態。
查看狀態:
rabbitmqctl status
此時查看通常會出現以下錯誤:
解決方法以下:
將C:\Users\XXXX\.erlang.cookie 文件拷貝到C:\Windows\System32\config\systemprofile替換掉.erlang.cookie文件。(XXXX爲window帳戶)
重啓rabbitMQ服務:CMD中 先輸入 net stop RabbitMQ ,而後輸入 net start RabbitMQ
net stop RabbitMQ
net start RabbitMQ
此後,再次輸入
rabbitmqctl status
顯示以下信息,RabbitMQ至此已經正確安裝完畢。
用戶設置與web管理工具插件安裝
1.新建用戶
使用命令查看用戶:
rabbitmqctl list_users
RabbitMQ會爲咱們建立默認的用戶名guest和密碼guest,guest默認擁有RabbitMQ的全部權限。
若是咱們須要本身建立用戶,那麼須要執行相似於下面的命令,設置密碼,並授予權限,並將其設置爲管理員。
1 rabbitmqctl add_user ading 123456 //建立用戶ading密碼爲123456 2 rabbitmqctl set_permissions ading ".*" ".*" ".*" //賦予ading讀寫全部消息隊列的權限 3 rabbitmqctl set_user_tags ading administrator //分配用戶組
另,修改用戶密碼和刪除用戶方法以下:
1 rabbitmqctl change_password ading 123 2 rabbitmqctl delete_user ading
2.安裝web管理工具插件
CMD中輸入:
rabbitmq-plugins enable rabbitmq_management
web管理工具的地址是:http://localhost:15672,初始用戶名:guest 初始密碼:guest
打開瀏覽器,輸入地址:http://127.0.0.1:15672/#/
總結
不懂的技術,若是配置部署麻煩,也請不要煩躁,由於他人都得經歷這些。你得知道,那麼多人推薦那麼多使用,老是有緣由的,別由於一點麻煩就放棄一項好的技術。