(一)linux上面搭建rabbitmq伺服器
阿新 • • 發佈:2018-11-22
一、因為工作需要,用於業務解耦,要用到訊息中介軟體,並且選擇了rabbitmq,使用它就需要在linux伺服器上面搭建rabbitmq伺服器,經過網上搜索與實踐,先是在自己的私人伺服器上面搭建成功並且成功訪問,後續在公司測試環境與正式環境上面搭建成功,在多次實踐的過程中總結出搭建過程,並且踩了一些坑,因為過程是試驗他人的搭建過程,就不歸為原創了。
二、下面就是在linux伺服器上面搭建rabbitmq伺服器的過程:
1.依賴環境的安裝-如果需要用編譯安裝erlang語言環境,需要安裝C++編譯。
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel unixODBC unixODBC-devel httpd python-simplejson
2.erlang語言環境的安裝(rabbitMq是用erlang分散式語言開發的)
安裝檔案獲取
wget http://erlang.org/download/otp_src_19.2.tar.gz
解壓erlang安裝包
tar -xzvf otp_src_19.2.tar.gz
進入erlang目錄
cd otp_src_19.2
編譯安裝erlang語言環境 prefix=/usr/local/erlang 為安裝目錄
./configure --prefix=/usr/local/erlang --enable-smp-support --enable-threads --enable-sctp --enable-kernel-poll --enable-hipe
--with-ssl --without-javac
erlang語言編譯配置選項:
–prefix 指定安裝目錄
–enable-smp-support啟用對稱多處理支援(Symmetric Multi-Processing對稱多處理結構的簡稱)
–enable-threads啟用非同步執行緒支援
–enable-sctp啟用流控制協議支援(Stream Control Transmission Protocol,流控制傳輸協議)
–enable-kernel-poll啟用Linux核心poll
–enable-hipe啟用高效能Erlang –with-ssl 啟用ssl包 –without-javac
不用java編譯
開始安裝編譯:
make && make install
配置erlang環境變數
vim /etc/profile
export PATH=$PATH:/usr/local/erlang/bin
source /etc/profil
測試erlang安裝是否成功
erl Erlang/OTP 17 [erts-6.2] [source] [smp:2:2] [async-threads:10] [kernel-poll:false]
Eshell V6.2 (abort with ^G)
會輸出 erlang安裝版本號
3.安裝RabbitMQ
1)下載rabbitmq-server-3.6.9.tar.xz
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-generic-unix-3.6.9.tar.xz
2)對於下載xz包進行解壓,首先先下載xz壓縮工具:
yum install xz
3)對rabbitmq包進行解壓:
xz -d xz -d rabbitmq-server-generic-unix-3.6.9.tar.xz
tar -xvf rabbitmq-server-generic-unix-3.6.9.tar
4)隨後移動至/usr/local/下 改名rabbitmq:
cp -r rabbitmq_server-3.6.9 /usr/local/rabbitmq
5)這種下載的方式解壓後直接可以使用,無需再編譯安裝;
進入到rabbit檔案內,其命令檔案存在於sbin資料夾下,因此需要將sbin資料夾的路徑新增到PATH中:修改/etc/profile
export PATH=/usr/local/rabbitmq/sbin:$PATH
執行source /etc/profile使得PATH路徑更新,rabbitMQ安裝成功。
6)隨後啟用MQ管理方式:
rabbitmq-plugins enable rabbitmq_management #啟動後臺管理
rabbitmq-server -detached #後臺執行rabbitmq
7)設定埠號,可供外部訪問:
iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
(不成功的話 #cd /etc/sysconfig #vim iptablesl裡面加,然後#service iptables restart|阿里雲的安全組中也要新增該埠的開放)
8)新增管理員賬號
rabbitmqctl add_user rabbitadmin 123456
[ [email protected] rabbitmq]$ sudo rabbitmqctl add_user rabbitadmin 123456
Creating user "rabbitadmin"
9)分配使用者標籤
rabbitmqctl set_user_tags rabbitadmin administrator
[[email protected] rabbitmq]$ sudo rabbitmqctl set_user_tags rabbitadmin administrator
Setting tags for user "rabbitadmin" to [administrator]
10)建立和賦角色完成後檢視並確認
rabbitmqctl list_users
[ [email protected] rabbitmq]$ sudo rabbitmqctl list_users
Listing users
rabbitadmin [administrator]
guest [administrator]
該命令使使用者rabbitadmin具有‘/’這個virtual host中所有資源的配置、寫、讀許可權以便管理其中的資源
rabbitmqctl set_permissions -p / rabbitadmin '.*' '.*' '.*'
11)登入rabbitmq管理介面
瀏覽器輸入地址:http://伺服器IP地址:15672/