百科

jboss4修改端口号

时间:2010-12-5 17:23:32  作者:热点   来源:热点  查看:  评论:0
内容摘要:JBoss4修改端口号这事,说穿了就是改一个XML文件的事,但坑全藏在细节里。我见过太多人只改了HTTP端口,结果部署上去半天连不上,最后发现是AJP端口还在老地方等着撞车。 先找到server/de

JBoss4修改端口号这事,改端说穿了就是口号改一个XML文件的事,但坑全藏在细节里。改端我见过太多人只改了HTTP端口,口号结果部署上去半天连不上,改端最后发现是口号AJP端口还在老地方等着撞车。

先找到server/default/deploy/jboss-web.deployer/server.xml。改端这个文件里躺着两个关键连接器,口号一个是改端HTTP,一个是口号AJP。HTTP那个默认监听8080,改端AJP默认8009。口号你要改的改端是port属性,别碰address,口号除非你想限制访问来源。改端举个例子,把8080改成9090,直接替换数字就行——但这时候有个陷阱:如果你改了HTTP端口而忘了AJP,Apache或者Nginx通过mod_jk转发过来的请求会直接扑空,因为AJP还在8009上傻等。

改完端口,重启服务是必须的。JBoss4的启动脚本在bin/run.sh(Windows下是run.bat)。别急着执行,先检查一下有没有其他进程占用了新端口。Linux下用netstat -tlnp | grep 9090看一眼,Windows下用netstat -ano | findstr 9090。我吃过一次亏,改了端口没检查,启动报错说端口被占用,排查了半天才发现是另一个测试实例没关。

还有一个容易忽略的地方——jboss-service.xml。这个文件在server/default/conf/目录下,里面配置了RMI相关的JNDI端口,默认是1099。如果你打算让远程客户端通过JNDI查找EJB,这个端口也得跟着改。而且改了之后,客户端那边的jndi.properties里的端口要同步更新,不然客户端还在连1099,服务端已经跑到1199去了,两头对不上。

说个真实案例。之前帮一个老项目迁移环境,原系统跑在8080上,新服务器上有个监控工具占了8080。我改了server.xml里的HTTP端口到8081,AJP改到8010,JNDI改到1100。重启后本地测试一切正常,结果测试环境一部署就出问题——他们的负载均衡器写死了后端端口8080。这种时候你得连负载均衡配置一起改,光改JBoss没用。所以动手前先问清楚:谁在依赖这个端口?是直接访问还是经过代理?

最后提个醒,JBoss4的端口配置不像新版本那样有集中管理界面,每个服务组件各管各的端口。改完后用ps -ef | grep java确认进程起来了,再用telnet 127.0.0.1 9090测一下连通性。如果连不上,多半是防火墙没放行——这个锅JBoss不背,你得去查iptables或者安全组规则。

整个过程十分钟能搞定,但搞明白哪些端口要一起改,得靠经验积累。记住一条原则:凡是服务对外提供访问入口的,都得检查一遍端口映射关系。改完端口不是终点,能正常访问才是终点。

最近更新
热门排行
copyright © 2026 powered by 力不从心网   sitemap