1. 程式人生 > >rabbitmq的安裝及配置

rabbitmq的安裝及配置

一。準備安裝環境:1.yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel libxml2-utils xsltproc openssl-devel unixODBC unixODBC-devel unixODBC-bin gtk2 fop沒有xsltproc這個包,實際是libxslt,修正為:yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel libxml2-utils libxml2 libxslt openssl-devel unixODBC unixODBC-devel unixODBC-bin gtk2 fop gtk2-devel binutils-devel mesa-libGLU-develNo package libxml2-utils available.No package unixODBC-bin available.2.安裝jdk 1.8.0_1443.下載wxWidgets-3.0.3.tar:tar -jxvf wxWidgets-3.0.3.tarcd wxWidgets-3.0.3./configure --with-opengl -enable-unicode -enable-debug
make && make install安裝wxWidgets報錯:The development files for GTK+ were not found.解決:yum -y install gtk2-devel binutils-devel  安裝wxWidgets時,make報錯: error: ‘g_signal_handlers_disconnect_by_data’ was not declared in this scope解決:本次安裝使用的是3.1.1開發版,換成3.0.4穩定版,pass!執行下步安裝,否則在配置otp時會報錯./configure --with-opengl -enable-unicode -enable-debug
報錯:OpenGL libraries not availableyum install mesa-libGLU-devel二。下載,安裝otp_src_20.0.tar.gz:tar zxvf otp_src_20.0.tar.gzcd otp_src_20.0./configure --prefix=/usr/local/erlang --with-opengl --enable-debug --enable-unicode --enable-hipe --enable-threads --enable-smp-support --enable-kernel-poll --without-javac 配置報錯:jinterface : Java compiler disabled by user
環境變數加入:export JRE_HOME=/usr/java/jdk1.8.0_144/jreexport CLASSPATH=.:/usr/java/jdk1.8.0_144/lib/dt.jar:/usr/java/jdk1.8.0_144/lib/tools.jar具體路徑根據find / -name dt.jar命令查詢所得如果老是提示jinterface : Java compiler disabled by user,嘗試去掉--without-javac安裝java執行環境不完全,導致在configure erlang時,雖然用了without-javac的選項,但還是總提示:jinterface     : Java compiler disabled by user,這個原因就是雖然不用javac編譯,但是,必須得有javac的編譯環境。測試是否有javac的方式,是在shell終端,輸入javac,如有相應的命令運用資訊,就對了,如沒有,請完全安裝;如果輸入javac有相應資訊,嘗試去掉--without-javac如果報xsltproc is missing,yum又找不到安裝包,參考如下方法安裝:Installing xsltproc on LinuxIf you are running a recent vintage of Linux, there is a good chance you will already have xsltproc installed on your system. Try the following command to see if you do:xsltproc -versionIf that command fails, or if it reports an old version, you can install the files you need using the RPM packages. The RPM packages can be found using the following URLs:http://rpmfind.net/linux/rpm2html/search.php?query=libxml2http://rpmfind.net/linux/rpm2html/search.php?query=libxsltYou need system administration privileges (root) to install packages. Then commands such as these should work:rpm -Uv libxml2-2.6.27-1.i386.rpmrpm -Uv libxslt-1.1.20-1.i386.rpmThen try xsltproc -version to see if it reports the new version number.其實只需要執行下述安裝即可:yum install libxml2yum install libxsltmake && make install測試Erlang是否安裝成功,在命令列輸入erl命令判斷:[[email protected] otp_src_20.0]# erlErlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false]Eshell V9.0 (abort with ^G)1> 如果顯示Erlang的版本資訊並進入erlang命令視窗表示安裝成功。這裡可能執行失敗,需要執行/usr/local/erlang/bin/erl配置:vi /etc/profileERL_HOME=/usr/local/erlangexport PATH=$PATH:$ERL_HOME/bin生效:source /etc/profile總結:Linux下要讓Erlang能夠使用wxWidgets,需要以下命令配置wxWidgets:./configure --with-opengl --enable-debug --enable-unicode三。RabbitMQ的配置:1.下載,解壓rabbitmq: cd /home下載:rabbitmq-server-generic-unix-3.7.0.tar解壓:tar xvf rabbitmq-server-generic-unix-3.7.0.tar -C /home mv rabbitmq-server-generic-unix-3.7.0 rabbitmq2.配置環境變數:然後在配置rabbitmq環境變數,vi /etc/profile檔案,增加下面的環境變數:#set rabbitmq environmentexport PATH=$PATH:/home/rabbitmq/sbinsource /etc/profile使得檔案生效 3.啟動RabbitMQ:(以我的安裝目錄為例) cd /home/rabbitmq/sbin 進入rabbitmq的sbin目錄 ./rabbitmq-server & 啟動rabbitmq ./rabbitmqctl status 檢視rabbitmq的執行狀態資訊 ./rabbitmqctl stop 關閉rabbitmq這裡有個坑,啟動報錯:init terminating in do_boot如果是windows環境,檢查安裝路徑不能有空格;linux,確認erl是你安裝的版本,find / -name erl 檢視都有哪些erl,我的操作:[[email protected] rabbitmq]# mv /usr/local/bin/erl /usr/local/bin/erl.bak[[email protected] rabbitmq]# cp /usr/local/erlang/bin/erl /usr/local/bin/erlRabbitMQ的自啟動配置1.編寫啟動指令碼 檔名為:rabbitmq 內容如下:(見rabbitmq檔案)2.配置自啟動 cd /etc/rc.d/init.d 進入該目錄 touch rabbitmq 建立指令碼 chmod +x rabbitmq 修改指令碼檔案的許可權 chkconfig --add rabbitmq 新增伺服器 chkconfig --level 345 rabbitmq on 設定自啟動 chkconfig --list rabbitmq 檢視自啟動項是否設定成功3.啟動服務:service rabbitmq start 啟動rabbitmq服務service rabbitmq status 檢視rabbitmq的狀態service rabbitmq restart 重啟reboot 重啟機器驗證是否自啟動 重啟後進入命令列 使用 ps aux|grep rabbitmq 或 service rabbitmq status 驗證rabbitmq是否自啟動成功。啟動過程可能報相關目錄無許可權,修改對應目錄的許可權或宿主4. 配置網頁外掛首先建立目錄,否則可能報錯:mkdir /etc/rabbitmq然後啟用外掛:cd /home/rabbitmq/sbin/./rabbitmq-plugins enable rabbitmq_management配置linux 埠 15672 網頁管理 5672 AMQP埠,然後訪問http://localhost:15672即可 ,預設使用者guest 密碼guest5. 遠端訪問配置預設網頁是不允許訪問的,需要增加一個使用者修改一下許可權,程式碼如下: cd /home/rabbitmq/sbin/rabbitmqctl add_user test test ---新增使用者名稱:密碼(test:test )rabbitmqctl set_user_tags test administrator ---修改使用者角色,設定test 為管理員賬戶rabbitmqctl list_permissions ---檢視(指定vhost)所有使用者的許可權資訊:rabbitmqctl set_permissions test '.*' '.*' '.*' ---設定對Vhost的配置,讀和寫的許可權。rabbitmqctl list_user_permissions test ---檢視指定使用者的許可權資訊rabbitmqctl clear_permissions guest ---清除使用者guest的許可權資訊然後就可以遠端訪問了,然後可直接配置使用者許可權等資訊。此時啟動rabbitmq 訪問介面http://192.168.2.31:15672/ 會進入到登入介面,如果linux系統開啟了防火牆則需要設定埠開放.cluster搭建起來後若在web管理工具中rabbitmq_management的Overview的Nodes部分看到“Node statistics not available”的資訊,說明在該節點上web管理外掛還未啟用。直接在顯示提示資訊的節點上執行sudo rabbitmq-plugins enable rabbitmq_management即可。Error: mnesia_unexpectedly_running原因:忘記先停止stop_app解決:sudo rabbitmqctl stop_app若rabbitmq-server第一次啟動後hostname不能被解析或者發生了更改則會導致啟動失敗需執行如下操作sudo rm -rf /var/lib/rabbitmq/mnesia(因為相關資訊會記錄在此資料庫)重灌RabbitMQ Server########################################如果出現報錯:[[email protected] sbin]# rabbitmqctl add_user test test Error: unable to perform an operation on node '[email protected]'. Please see diagnostics information and suggestions below.Most common reasons for this are: * Target node is unreachable (e.g. due to hostname resolution, TCP connection or firewall issues) * CLI tool fails to authenticate with the server (e.g. due to CLI tool's Erlang cookie not matching that of the server) * Target node is not runningIn addition to the diagnostics info below: * See the CLI, clustering and networking guides on http://rabbitmq.com/documentation.html to learn more * Consult server logs on node [email protected]DIAGNOSTICS===========attempted to contact: [[email protected]][email protected]: * connected to epmd (port 4369) on dev31 * epmd reports node 'rabbitmq' uses port 40000 for inter-node and CLI tool traffic * TCP connection succeeded but Erlang distribution failed * Authentication failed (rejected by the remote node), please check the Erlang cookieCurrent node details: * node name: [email protected] * effective user's home directory: /root * Erlang cookie hash: fHaK+AChcr5e7TmqsIrmcg==參考解決方法:[[email protected] sbin]# find / -name .erlang.cookie/home/rabbitmq/.erlang.cookie/root/.erlang.cookie[[email protected] sbin]# cp /home/rabbitmq/.erlang.cookie /root/.cp:是否覆蓋"/root/./.erlang.cookie"? y[[email protected] sbin]# rabbitmqctl add_user test testAdding user "test" ...用哪個使用者啟動rabbitmq,確保正確的.erlang.cookie在使用者預設目錄下;如果服務啟動腳本里面有配置RABBITMQ_HOME,複製.erlang.cookie到RABBITMQ_HOME;如果是叢集,建議統一使用主節點的.erlang.cookie,並確保檔案許可權為400============================================[[email protected] ~]# cat /etc/rc.d/init.d/rabbitmq 
#!/bin/sh
#
# rabbitmq-server RabbitMQ broker
#
# chkconfig: - 80 05
# description: Enable AMQP service provided by RabbitMQ
#
### BEGIN INIT INFO
# Provides:          rabbitmq-server
# Required-Start:    $remote_fs $network
# Required-Stop:     $remote_fs $network
# Description:       RabbitMQ broker
# Short-Description: Enable AMQP service provided by RabbitMQ broker
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions


export HOME=/home/rabbitmq        ##自行配置對應目錄
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/home/otp_src_20.0/bin  ##自行配置對應目錄
NAME=rabbitmq-server
DAEMON=/home/rabbitmq/sbin/${NAME}  ##自行配置對應目錄
CONTROL=/home/rabbitmq/sbin/rabbitmqctl  ##自行配置對應目錄
DESC=rabbitmq-server
USER=test        ##啟動使用者,涉及到.erlang.cookie檔案的存取地址
INIT_LOG_DIR=/var/log/rabbitmq        ##非root啟動時,此處可能涉及到許可權修改
PID_FILE=/var/run/rabbitmq/pid        ##非root啟動時,此處可能涉及到許可權修改


START_PROG="daemon"
LOCK_FILE=/var/lock/subsys/$NAME        ##非root啟動時,此處可能涉及到許可權修改


test -x $DAEMON || exit 0
test -x $CONTROL || exit 0


RETVAL=0
set -e


[ -f /etc/default/${NAME} ] && . /etc/default/${NAME}


ensure_pid_dir () {
    PID_DIR=`dirname ${PID_FILE}`
    if [ ! -d ${PID_DIR} ] ; then
        mkdir -p ${PID_DIR}
        chown -R ${USER}:${USER} ${PID_DIR}
        chmod 755 ${PID_DIR}
    fi
}


remove_pid () {
    rm -f ${PID_FILE}
    rmdir `dirname ${PID_FILE}` || :
}


start_rabbitmq () {
    status_rabbitmq quiet
    if [ $RETVAL = 0 ] ; then
        echo RabbitMQ is currently running
    else
        RETVAL=0
        ensure_pid_dir
        set +e
        RABBITMQ_PID_FILE=$PID_FILE $START_PROG $DAEMON \
            > "${INIT_LOG_DIR}/startup_log" \
            2> "${INIT_LOG_DIR}/startup_err" \
            0<&- &
        $CONTROL wait $PID_FILE >/dev/null 2>&1
        RETVAL=$?
        set -e
        case "$RETVAL" in
            0)
                echo SUCCESS
                if [ -n "$LOCK_FILE" ] ; then
                    touch $LOCK_FILE
                fi
                ;;
            *)
                remove_pid
                echo FAILED - check ${INIT_LOG_DIR}/startup_\{log, _err\}
                RETVAL=1
                ;;
        esac
    fi
}


stop_rabbitmq () {
    status_rabbitmq quiet
    if [ $RETVAL = 0 ] ; then
        set +e
        $CONTROL stop ${PID_FILE} > ${INIT_LOG_DIR}/shutdown_log 2> ${INIT_LOG_DIR}/shutdown_err
        RETVAL=$?
        set -e
        if [ $RETVAL = 0 ] ; then
            remove_pid
            if [ -n "$LOCK_FILE" ] ; then
                rm -f $LOCK_FILE
            fi
        else
            echo FAILED - check ${INIT_LOG_DIR}/shutdown_log, _err
        fi
    else
        echo RabbitMQ is not running
        RETVAL=0
    fi
}


status_rabbitmq() {
    set +e
    if [ "$1" != "quiet" ] ; then
        $CONTROL status 2>&1
    else
        $CONTROL status > /dev/null 2>&1
    fi
    if [ $? != 0 ] ; then
        RETVAL=3
    fi
    set -e
}


rotate_logs_rabbitmq() {
    set +e
    $CONTROL rotate_logs ${ROTATE_SUFFIX}
    if [ $? != 0 ] ; then
        RETVAL=1
    fi
    set -e
}


restart_running_rabbitmq () {
    status_rabbitmq quiet
    if [ $RETVAL = 0 ] ; then
        restart_rabbitmq
    else
        echo RabbitMQ is not runnning
        RETVAL=0
    fi
}


restart_rabbitmq() {
    stop_rabbitmq
    start_rabbitmq
}


if  [ ! -d $INIT_LOG_DIR ]; then   
    mkdir $INIT_LOG_DIR
fi


case "$1" in
    start)
        echo -n "Starting $DESC: "
        start_rabbitmq
        echo "$NAME."
        ;;
    stop)
        echo -n "Stopping $DESC: "
        stop_rabbitmq
        echo "$NAME."
        ;;
    status)
        status_rabbitmq
        ;;
    rotate-logs)
        echo -n "Rotating log files for $DESC: "
        rotate_logs_rabbitmq
        ;;
    force-reload|reload|restart)
        echo -n "Restarting $DESC: "
        restart_rabbitmq
        echo "$NAME."
        ;;
    try-restart)
        echo -n "Restarting $DESC: "
        restart_running_rabbitmq
        echo "$NAME."
        ;;
    *)
        echo "Usage: $0 {start|stop|status|rotate-logs|restart|condrestart|try-restart|reload|force-reload}" >&2
        RETVAL=1
        ;;
esac


exit $RETVAL

=======================================

參考:https://blog.csdn.net/u013256816/article/details/53524766

http://www.cnblogs.com/knowledgesea/p/6535766.html

https://blog.csdn.net/tengdazhang770960436/article/details/50009007

https://blog.csdn.net/WoogeYu/article/details/51119101

相關推薦

Android RabbitMQ使用之RabbitMQ安裝配置

Rabbit安裝 準備 Erlang: http://www.erlang.org/downloads Rabbit: http://www.rabbitmq.com/download.html Er

ubuntu 下rabbitMQ安裝配置遠端訪問web管理介面

#1 更新 apt-get update apt-get upgrade #2 安裝Erlang wget http://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc apt-key add erla

RabbitMQ 安裝配置

RabbitMQ RabbitMQ簡介 AMQP,即Advanced Message Queuing Protocol,高階訊息佇列協議,是應用層協議的一個開放標準,為面向訊息的中介軟體設計。訊息中介軟體主要用於元件之間的解耦,訊息的傳送者無需知道訊

rabbitmq安裝基本操作(含集群配置

home 操作 14. 關系 裝包 del protocol otp examples 一、rabbitmq的安裝 因為rabbitmq是基於 erlang語言開發,所有要先安裝erlang 1、安裝erlang 這裏我下載的是19.2的版本,地址為https://w

RabbitMQ的學習(一):Windows下安裝配置RabbitMQ,erlang環境變數

前言:從本章開始,慢慢去了解並深化架構師成長路上所需要的基礎框架:訊息中介軟體; 從這裡開始,會一直往下學習,從what to do到how to do 到why to do。先學會如何使用中介軟體,到後面慢慢去體會中介軟體原理及精髓,然後到最後自己再搭建一個簡單的中介軟體框架。這是該分類的

阿里雲CentOS環境之RabbitMq安裝環境配置《十三》

第一、Erlang安裝 因為是erlant語言編寫的,故需要安裝erlang環境 下載 在/usr/local/目錄下建立rabbitMQ目錄,mkdir rabbitMQ.進入目錄。 erlant官方網址,下載原始碼版,因linux只能下

Windows下安裝配置RabbitMQ

步驟: 一、安裝erlang語言開發包(rabbitmq為erlang語言開發),一路預設安裝,配置環境變數:ERLANG_HOME:erlang安裝路徑;新增PATH:%ERLANG_HOME%\b

rabbitmq安裝配置

一。準備安裝環境:1.yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel libxml2-utils xsltproc openssl-devel unixODBC unixODBC-devel unix

Springboot 1.5.x 集成基於Centos7的RabbitMQ集群安裝配置

don pri dont 穩定 配置文件 來源 貴的 wget amqp RabbitMQ簡介 RabbitMQ是實現了高級消息隊列協議(AMQP)的開源消息代理軟件(亦稱面向消息的中間件)。 RabbitMQ是一套開源(MPL)的消息隊列服務軟件,是由LShift提供

kali linux安裝配置

bsp -i upgrade 文件 unit 設置 ade 一個 linux用戶 kali linux用戶名:root 密碼:之前設置過的密碼 ---------------------------------------------------------------

Ubuntu系統下OpenLDAP的安裝配置

操作系統 ldap 前言LDAP(Lightweight Directory Access Protocol)是基於X.500標準的輕量級目錄訪問協議,在Unix操作系統裏面,和NIS,DNS一樣,屬於名稱服務(Naming Service)。本文描述了如何在Ubuntu操作系統上面,搭建LDAP服務

RabbitMQ安裝配置

錯誤 erlang sta mqc use error padding 停止 pen 安裝(centos系統) 第一步: 下載rabbitmq安裝包 第二步: 安裝erlang      1) 安裝Erlang Solutions倉庫到你的系統(目的在於讓你可以使用yum安

linux應用之xampp集成環境的安裝配置(centos)

其他 配置文件 ln -s 提示 config 執行權 listen location x64 1.xampp集成環境的下載   在xampp的官網上選擇對應系統的版本進行下載,官網地址:https://www.apachefriends.org/zh_cn/index.h

Solr - 無*.war版solr安裝配置

新建 9.png quick none sources res .com eight spl 1.將 solr 壓縮包中*\server\solr-webapp\文件夾下有個webapp文件夾,將之復制到Tomcat\webapps\目錄下,並改成solr (名字隨意,通過

zabbix(1)--服務器端安裝配置

zabbix-server1、zabbix-server配置zabbix版本選擇LTS的3.0版本、server端OS版本為RHEL 6.5配置zabbix倉庫,進行yum安裝zabbix~]# cd /etc/yum.repos.d/ yum.repos.d]# vim zabbix.repo [zab

Tomcat安裝配置教程

exe hot str 打開 內容 cbe bfc pre f11 用來進行web開發的工具有很多,Tomcat是其中一個開源的且免費的java Web服務器,是Apache軟件基金會的項目。電腦上安裝配置Tomcat的方法和java有些相同,不過首先需要配置好ja

Java基礎軟件的安裝配置Javascript的運行

bsp 系統 script static ati pat ogr javascrip 安裝路徑 1.Jdk的安裝及環境變量配置: (1)計算機-屬性-高級系統設置。 (2)環境變量-系統變量-輸入變量名JAVA_HOME-輸入變量值C:\Pr

Vsftp安裝配置虛擬用戶

vsftp linux Vsftp安裝及配置虛擬用戶 一、安裝采用yum安裝[[email protected]/* */_64_122_centos vsftpd]# yum installvsftpd安裝完成以後vsftpd的默認配置文件在/etc/vsftpd二、建立虛擬用戶的過程

PHP開發環境&amp;MySQL下載安裝配置流程

str gb2312 sni _array 連接 login log res apache2 PHP開發環境&MySQL下載安裝及配置流程 因工作須要,從0開始學PHP,前幾天看完視頻教程後開始搞開發環境,到今天才好。這裏把安裝配置流程梳理一下分享

3-opencv 2.4.9安裝配置

技術 build bsp 安裝 -1 images http 9.png .cn 1- 2- 3- 4- C:\Program Files\opencv\build\x86\vc12\bin 5- 3-opencv 2.4.9安裝及配置