最近部署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重连)就可以看到主机名生效了
[root@server1 ~]#

最新文章

  1. XE6 & IOS开发之免证书真机调试(2):连接真机并运行App(有图有真相)
  2. C/C++使用HTTP协议上传
  3. ES5基础01:正则表达式
  4. OpenCV 3.0 VS2010 Configuration
  5. Unity3D之Mecanim动画系统学习笔记(四):Animation State
  6. android调试bug集锦 onActivityResult立即返回,并且被CANCEL
  7. java集合框架01
  8. 音乐出身的妹纸,零基础学习JAVA靠谱么
  9. datatables 配套bootstrap3样式使用小结(1)
  10. WEUI控件JS用法
  11. C语言基础一(敲打键盘、寻找资料)
  12. Navicat for MySQL 64位破解版
  13. 26.python常用端口号
  14. 一台服务器多实例mysql做主从复制
  15. Sorting arrays in NumPy by column
  16. super的使用方法与使用范围
  17. [开源] .NET数据库ORM类库 Insql
  18. php连接oracle数据库
  19. [RTC]系统和RTC的时间保持一致
  20. 在服务中用管理员权限创建一个可弹出UI的进程 (转载)

热门文章

  1. antd拖拽排序
  2. 在CentOS中安装输入法
  3. openssl 升级 操作 -1
  4. 《从零开始学Swift》学习笔记(Day 39)——构造函数重载
  5. 【转】C#操作word定位光标
  6. JavaWeb 之文件下载
  7. Python3.6全栈开发实例[003]
  8. P2P-BT对端管理协议(附BT协议1.0)
  9. tomcat 的 Pipeline 机制
  10. 阿里云下 centos7下启动程序总是被killed ,看内存占用情况以检查哪些服务存在问题并调整参数作调优