ActiveMQ部署和503的錯誤
最近部署ActiveMQ的時候,發現有的服務器可以打開後臺管理網址,有的服務器無法打開,Jetty報503 Service Unavailable。
搞了很久終於發現了問題,現將部署和解決過程做筆記如下:
安裝部署步驟:
# 查看是否自帶了Java rpm -qa | grep java # 卸載Linux自帶的OpenJava yum remove -y java # 或者 rpm -e java # 上傳或聯網下載JDK 7 rz jdk-7u79-linux-x64.rpm # 或者 wget http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.rpm rpm -ivh jdk-7u79-linux-x64.rpm java -version vi ~/.bash_profile --------------------------------------------- export JAVA_HOME=/usr/java/jdk1.7.0_79 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar --------------------------------------------- source ~/.bash_profile echo $JAVA_HOME # 上傳或聯網下載JDK rz apache-activemq-5.12.1-bin.tar.gz # 或者 wget http://archive.apache.org/dist/activemq/5.12.1/apache-activemq-5.12.1-bin.tar.gz tar zxvf apache-activemq-5.12.1-bin.tar.gz mv apache-activemq-5.12.1 /usr/local/activemq # 直接改造activemq原生啟動腳本來做服務引導腳本 ln -s /usr/local/activemq/bin/activemq /etc/init.d/ vi /etc/init.d/activemq --------------------------------------------- # 第二行插入 # chkconfig: 345 63 37 # description: Auto start ActiveMQ --------------------------------------------- # 可以設置開機啟動了 chkconfig activemq on chkconfig --list activemq # 啟動服務看看 service activemq start # 設置防火墻 service iptables status iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 61616 -j ACCEPT iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8161 -j ACCEPT service iptables save service iptables restart
如上部署好以後,就可以正常使用了,默認消息端口是61616,後臺管理網址端口8161,直接用瀏覽器打開後臺管理網址,界面如下:
但是在線上服務器部署時就出了問題,無法訪問後臺管理網站,界面如下:
度娘了很久,沒有找到相關的解決辦法,後來第N編翻看ActiveMQ官方文檔的時候,看到還可以activemq console參數進行前臺啟動,可能會暴露出錯誤原因,於是命令如下:
# 先停用activemq service activemq stop # 手動控制臺方式啟動 /usr/local/activemq/bin/activemq console
於是看到一堆又一堆的輸出,向上翻了N屏後最終趴到如下一句錯誤:
猛然想起我曾經將這個服務器hostname改為dubbo,卻沒有修改hosts文件!!!
如上所示在hosts中添加主機名dubbo後,正常啟動activemq服務,後臺管理網址終於正常了。
如此低級到剁手的錯誤,實屬不該!!!
在此將完整修改服務器hostname的步驟記錄如下,以此為戒:
# 修改主機名為server1 vi /etc/sysconfig/network --------------------------------- HOSTNAME=server1 --------------------------------- # 修改hosts文件,讓服務器認得這個名字 vi /etc/hosts --------------------------------- 127.0.0.1 server1 --------------------------------- # 重啟後生效 reboot # 如果暫時不能重啟,可以使用如下命令臨時生效 hostname server1 # 退出 exit # 重新登陸(SSH重連)就可以看到主機名生效了 [[email protected]
ActiveMQ部署和503的錯誤