最近在预研产品的虚拟化部署,装了几次应用。今天装完以后发现无法访问,就定位了一下。虽然不复杂,还是记录一下:
jboss的版本是4.2.3,很老的版本,日志和目录结构不是很熟
1. 访问http://ip.
193:port/xxx,失败,显示的是jboss没有启动的样子,而不是404,500什么的
2. 查看jboss/bin/nohup.out,看到有如下异常:
Caused by: java.rmi.UnknownHostException: Unknown host: xxx.site; nested exception is:
java.net.UnknownHostException: xxx.site
想到是hostname配置的问题,修改/etc/hosts
以上解决了jboss启动过程中,由于某个listener抛出异常,导致jboss未正常启动的问题
3. 再次访问http://ip.
193:port/xxx,还是失败,仍然显示JBOSS未启动
4. 再次查看jboss/bin/nohup.out,看出JBOSS已经正常启动
5. 于是尝试访问http://ip.
193:port/,不加应用路径,看到了jboss的首页,证实jboss已经启动
6. 打开fiddler2,尝试抓包,发现当访问http://ip.
193:port/xxx时,会跳转到代理服务器http://ip.
194:port/
7. 但是我没有安装代理服务器,所以在
194:port端口上,没有应用响应HTTP请求,故失败
8. 在194上安装代理服务器,问题解决
jboss相关日志:
/opt/company/log,这是应用写的日志
/opt/company/product/jboss/server/default/log,这是jboss写的日志
/opt/company/product/jboss/bin/nohup.out,这是jboss的启动日志
为什么会直接跳转:
web app的web.xml中设置了一个/*的filter,其实是CAS的SSO filter,将所有的http request跳转到194上。所以加上应用路径就会触发跳转,造成失败;只用ip+port访问,可以看到jboss已经启动了
总结:
1、web容器本身的日志对于问题定位很重要,光靠应用本身的日志,有时候会遗漏重要信息,越烂的应用越是如此
2、判断jboss是否正常启动,可以用不加应用路径的方式,看看是否能访问到jboss的首页;也可以看jboss/bin/nohup.out文件
3、定位奇怪的web app问题时,抓包工具很好用。http watcher和fiddler2都不错
分享到:
相关推荐
本文将针对HarmonyOS应用开发中常见的网络访问错误进行总结,并提供具体的解决方法。 #### 问题一:非加密的安全访问方式失败 **问题描述**: 在使用OKHttp3.0进行网络访问时,尝试采用非加密的安全访问方式(即不...
SQL存储过程是数据库管理系统中一组为了完成特定功能的SQL语句集合,它是预编译的,可以被多次调用,极大地提高了数据库应用系统的性能和效率。这篇学习资料全面且经典,涵盖了存储过程的基础概念、创建、执行、调试...
这意味着在首次启动应用时,需要触发一次完整的定位过程。 - **定位标志闪烁**:定位过程中,GPS标志会闪烁,表示正在尝试连接卫星。一旦停止闪烁,即表示已成功定位。 ##### 6. **数据发送至服务器** - **本地IP...
在IT行业中,对URL(统一资源定位符)的访问时间进行测试是衡量网络性能和应用程序效率的重要手段。这个过程通常涉及到网络请求、响应时间和数据传输速率等关键指标。标题和描述提到的功能允许用户指定访问次数和...
这些工具生成的应用也需要遵循各自平台的安装流程,但开发过程更加便捷,一次编写,多平台运行。 五、企业级应用部署 对于企业内部应用,可能需要通过MDM(Mobile Device Management)工具进行部署,这些工具允许...
1. **静态重定位**:在程序装入内存时,由装入程序一次性完成逻辑地址到物理地址的转换。 2. **动态重定位**:在程序执行期间每次访问内存前进行重定位,通过硬件地址变换机构实现。 #### 三、存储管理基本技术 **...
1. 数据加载:为了避免一次性加载所有联系人导致性能问题,可以采用分页加载策略,仅加载当前视图所需的数据。 2. 列表复用:使用`convertView`机制,通过`getView()`方法复用列表项,降低内存消耗和渲染时间。 3. ...
- **统一代码**: 掌握React Native、Flutter等跨平台开发框架,实现一次编码多端运行,降低开发成本。 #### 三十二、云服务集成 - **云服务**: 对接阿里云、腾讯云、AWS等提供的云服务,如云存储、云函数等,增强...
它能提供高精度的经纬度信息,支持单次定位和持续定位,适用于各种需要获取用户位置的应用场景,如社交、外卖、打车等。 最后,我们关注“百度全景图”。百度全景服务提供了丰富的街景图像,开发者可以通过集成全景...
在Windows平台上,C++开发过程中,遇到程序崩溃或内存错误时,通过生成dump文件是一种非常有效的调试手段。Dump文件包含了程序崩溃时刻的内存状态、线程信息、堆栈跟踪等关键数据,能帮助开发者准确地定位问题所在。...
例如,如果要读取一段连续的记录,只需一次磁盘寻道,然后连续读取数据。但其缺点是插入和删除操作可能涉及大量数据的移动,导致效率低下。 接着,我们来看看索引文件。索引文件是为了提高数据查询速度而引入的一种...
我国的第一台亿次巨型计算机“银河”则在1983年问世。计算机按规模可分为巨型机、大型机、小型机和微型机,各自在不同领域有特定应用。例如,巨型机主要用于战略武器、空间技术和天气预报等;大型机常见于大中企事业...
总结,SYBASE IQ的存储过程是数据库管理和应用开发中的重要组成部分,它们提供了灵活的数据处理能力,可以实现复杂业务逻辑,同时通过有效的权限管理确保数据安全。通过深入理解和熟练运用存储过程,开发者能够提高...
总结来说,Android获取GPS定位信息的过程涉及到LocationManager、LocationListener、权限管理和类的封装。正确使用这些组件和最佳实践,可以确保在满足功能需求的同时,提升应用程序的性能和用户体验。
通过了解存储过程的基本概念、创建方法及使用方式,开发人员能够更好地利用这一特性来优化应用设计。在未来的学习中,我们将进一步探讨如何在.NET环境中使用存储过程,以及如何处理更复杂的业务逻辑。
它不仅简化了用户对多个应用的访问过程,还为企业级别的快应用开发提供了便利。本文将深入探讨AppLauncher的工作原理、功能特性以及在快应用开发中的应用。 一、AppLauncher简介 AppLauncher的设计目标是提高用户...
- **方法**:合并多次查询为一次批量操作、使用存储过程等。 - **案例**:将多个小查询合并为一个复杂的查询语句,减少与数据库服务器的交互次数。 4. **减少服务器CPU开销(减少CPU及内存开销)** - **原理**:...
本文详细记录了一次针对PECompact 2.x壳的脱壳过程,从理论到实践,涵盖了ESP定律的应用、OllyDbg的使用技巧以及脱壳插件的辅助。通过这一过程,不仅揭示了脱壳技术的核心要点,也为逆向工程师提供了一套实用的操作...