1. 程式人生 > >linux(centos7)+Rabbitmq安裝

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檢視執行結果

配置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