你的位置:首页 > 操作系统

[操作系统]ActiveMQ部署步骤和后台管理网站Service Unavailable问题解决笔记


最近部署ActiveMQ的时候,发现有的服务器可以打开后台管理网址,有的服务器无法打开,Jetty报503 Service Unavailable。

搞了很久终于发现了问题,现将部署和解决过程做笔记如下:

安装部署步骤:

# 查看是否自带了Java
rpm -qa | grep java
# 卸载Linux自带的OpenJavayum remove -y java
# 或者
rpm -e java# 上传或联网下载JDK 7rz jdk-7u79-linux-x64.rpmorwget http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.rpmrpm -ivh jdk-7u79-linux-x64.rpmjava -versionvi ~/.bash_profile---------------------------------------------export JAVA_HOME=/usr/java/jdk1.7.0_79export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar---------------------------------------------source ~/.bash_profileecho $JAVA_HOME# 上传或联网下载JDKrz apache-activemq-5.12.1-bin.tar.gzorwget http://archive.apache.org/dist/activemq/5.12.1/apache-activemq-5.12.1-bin.tar.gztar zxvf apache-activemq-5.12.1-bin.tar.gzmv 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 onchkconfig --list activemq# 启动服务看看service activemq start# 设置防火墙service iptables statusiptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 61616 -j ACCEPTiptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8161 -j ACCEPTservice iptables saveservice iptables restart

如上部署好以后,就可以正常使用了,默认消息端口是61616,后台管理网址端口8161,直接用浏览器打开后台管理网址,界面如下:

但是在线上服务器部署时就出了问题,无法访问后台管理网站,界面如下:

度娘了很久,没有找到相关的解决办法,后来第N编翻看ActiveMQ官方文档的时候,看到还可以activemq console参数进行前台启动,可能会暴露出错误原因,于是命令如下:

# 先停用activemqservice activemq stop# 手动控制台方式启动/usr/local/activemq/bin/activemq console

于是看到一堆又一堆的输出,向上翻了N屏后最终趴到如下一句错误:

猛然想起我曾经将这个服务器hostname改为dubbo,却没有修改hosts文件!!!

 

如上所示在hosts中添加主机名dubbo后,正常启动activemq服务,后台管理网址终于正常了。

如此低级到剁手的错误,实属不该!!!

在此将完整修改服务器hostname的步骤记录如下,以此为戒:

# 修改主机名为server1vi /etc/sysconfig/network---------------------------------HOSTNAME=server1---------------------------------# 修改hosts文件,让服务器认得这个名字vi /etc/hosts---------------------------------127.0.0.1 server1---------------------------------# 重启后生效reboot# 如果暂时不能重启,可以使用如下命令临时生效hostname server1# 退出exit
# 重新登陆(SSH重连)就可以看到主机名生效了
[root@server1 ~]#