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