linux(centos7)+Rabbitmq安裝
1.安裝erlang
(1)下載,地址:http://www.erlang.org/downloads 或者是http://erlang.org/download/ 一定要下載src版本。
解壓erlang到/usr/local目錄下:
解壓原始檔:tar -xzvf otp_src_20.3.tar.gz
建立erlang安裝目錄:mkdit /usr/local/erlang
配置安裝路徑編譯程式碼:./configure --prefix=/usr/local/erlang
如果報No curses library functions found錯,安裝curses
安裝後重新編譯程式碼
執行編譯結果:make && make install完成後進入/usr/local
配置Erlang環境變數,vi /etc/profile檔案,增加下面的環境變數:
export PATH=$PATH:/usr/local/erlang/bin
使得檔案生效 source /etc/profile
$:elr -verison 檢視erlang是否安裝成功,如果安裝過程中提示有依賴包沒有安裝,安裝相應的依賴包即可。
可能出現的依賴包問題及解決方法:
$ yum -y install ncurses-devel
$ yum install openssl-devel
$ yum install unixODBC-devel
$ yum install gcc-c++ 這個要慎重,需要確認是否是linux版本過低的問題。
2.安裝rabbitmq
我下載的是rabbitmq-server-generic-unix-3.6.10.tar.xz
解壓到/usr/local/rabbtimq目錄中進行如下操作
xz -d rabbitmq-server-generic-unix-3.6.2.tar.xz
Mq檔案解壓:tar -xvf rabbitmq-server-generic-unix-3.6.2.tar
vi /etc/profile 新增環境變數
export PATH=$PATH:/usr/local/erlang/bin:/usr/local/rabbitmq/sbin
使得檔案生效 source /etc/profile
(2)安裝management外掛
進入sbin目錄,執行
./rabbitmq-plugins enable rabbitmq_management
如果報錯
Applying plugin configuration to [email protected]-L0032605... failed
則不用在意
如果報錯
rabbitmq Error: dependent plugins [crypto,ssl] not found
則是openssl和erlang版本不相容,我換成CentOS7就沒問題了、
(2)啟動rabbitmq
在sbin目錄下
./rabbitmq-server start
//或者以程序守護的方式後臺啟動
./rabbitmq-server -detached
檢視服務狀態:./rabbitmqctl status
關閉服務:./rabbitmqctl stop
(3)新增root賬戶及許可權設定
預設的rabbitmq為guest,guest只能在本地登陸web介面,遠端登陸需要新新增一個賬戶,下面是操作:
## 執行如下的命令,增加使用者admin,密碼 admin
[[email protected] sbin]# ./rabbitmqctl list_users
Listing users ...
[[email protected] sbin]# ./rabbitmqctl add_user admin admin
Creating user "admin" ...
[[email protected] sbin]#./rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...
[[email protected] sbin]#./rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
Setting permissions for user "admin" in vhost "/" ...
[[email protected] sbin]# ./rabbitmqctl list_users 或者是#./rabbitmqctl list_user_permissions admin
Listing users ...
admin [administrator]
[[email protected] sbin]#
新增完root使用者之後就可以通過web介面訪問控制檯了。
其他指令:
$ sudo chkconfig rabbitmq-server on # 新增開機啟動RabbitMQ服務
$ sudo /sbin/service rabbitmq-server start # 啟動服務
$ sudo /sbin/service rabbitmq-server status # 檢視服務狀態
$ sudo /sbin/service rabbitmq-server stop # 停止服務# 檢視當前所有使用者
$ sudo rabbitmqctl list_users# 檢視預設guest使用者的許可權
$ sudo rabbitmqctl list_user_permissions guest# 由於RabbitMQ預設的賬號使用者名稱和密碼都是guest。為了安全起見, 先刪掉預設使用者
$ sudo rabbitmqctl delete_user guest# 新增新使用者
$ sudo rabbitmqctl add_user username password# 設定使用者tag
$ sudo rabbitmqctl set_user_tags username administrator# 賦予使用者預設vhost的全部操作許可權
$ sudo rabbitmqctl set_permissions -p / username ".*" ".*" ".*"# 檢視使用者的許可權
$ sudo rabbitmqctl list_user_permissions username
其他常用的操作:
伺服器啟動與關閉
啟動: rabbitmq-server –detached
關閉:rabbitmqctl stop 這個是關閉了整個應用和節點。
若單機有多個例項,則在rabbitmqctlh後加–n 指定名稱
伺服器狀態:rabbitmqctl status
問題及建議
1.注意:CENTOS7.* 建議erl要用20以上,外掛openssl要用57以上,rabbitmq要用3.6.11及以上,不然會出現各種錯誤。
2.防火牆,開放5672和15672埠
/sbin/iptables -I INPUT -p tcp --dport 5672 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT