jboss-eap-6.4 部署 web 应用操作手册

背景

以前没玩过 Jboss,上次使用是别人配置好的 Jboss 环境,隐约记得访问端口是8080。因项目需要玩了一下 jboss-eap-6.4,本文将记录如何通过jboss的提示信息一步步完成Java 应用的部署过程。

启动

跟 Tomcat 一样,它也是非安装版的,直接上传 jboss-eap-6.4 包到目标服务器,然后在bin 目录下找到启动文件 standalone.sh 执行即可。
在这里插入图片描述

访问8080端口

访问路径与Tomcat一致,都是http://localhost:8080/,默认绑定本机回环地址。
在这里插入图片描述
目标机器防火墙关闭,但是无法远程访问到该路径,说明是 Jboss 自身配置问题。

修改绑定接口

Jboss 的独立模式配置文件为 standalone.xml 类似 Tomcat 的 server.xml,其路径为:

在这里插入图片描述
编辑该文件,修改 bind-address 信息为 0.0.0.0(任意本机IP均可访问),这个知识点跟其他所有的地址绑定一样(所有的回环地址都需要修正,否则无法访问):
在这里插入图片描述
重启后远程访问:
在这里插入图片描述
这是类似 Tomcat 的小汤猫的页面,这个页面有一行信息说明有配置可以关闭该页面。

Jboss部署页面

访问部署页面http://IP:9990/console/App.html#deployments
在这里插入图片描述
提示我们没有添加管理用户,不能使用,并且告诉了我们添加用户的脚本。

添加用户

执行 bin 目录下 add-user.sh 脚本添加系统用户。

在这里插入图片描述
如果是忘记密码,还是执行该脚本,输入待修改密码的账号,就能完成密码的修改了。
再次访问部署路径,自动进的入登录页面:
在这里插入图片描述

部署页面

在这里插入图片描述

修改URI编码

Tomcat 有针对 URI 设置编码的配置:

<Connector port="80" protocol="HTTP/1.1"
                 connectionTimeout="20000"
		      redirectPort="8443" useBodyEncodingForURI="true" URIEncoding="UTF-8" />

这个配置可以保证 Get 请求中文参数不会出现乱码,相同的项目部署到 Jboss 后出现了中文乱码,所以猜测是编码配置问题,搜一下 Jboss 果然有相关的配置。

找到这个博客https://blog.csdn.net/earthhour/article/details/18308939 配置一下就OK了,还是在配置bind-address的地方,在</extensions>和<management>标签中间添加如下配置:

<system-properties>
	<property name="org.apache.catalina.connector.URI_ENCODING" value="UTF-8"/>
	<property name="org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING" value="true"/>
</system-properties>

Hibernate-validator引用问题

JBoss6.4 引用了 Hibernate Validator ,不同操作系统该jar包的要求不一样,CentOS6 是依赖 Hibernate Validator 4.3.3.Final-redhat-1,而 CentOs7 是需要高版本的5.0,一旦版本错误,会导致部署应用并启动时报错。
在这里插入图片描述
所以打包的时候根据目标机器的操作系统类型,调整项目中的依赖配置:

<dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>5.1.0.Final</version>
        </dependency>

如果是 CentOS7 是则使用 5.1,否则使用JBoss子代码的版本即可。

websocket 支持

Jboss 支持 websocket 需要额外的配置:
1)EAP_HOME/bin/jboss-cli.sh --connect
2)/subsystem=web/connector=http/:write-attribute(name=protocol,value=org.apache.coyote.http11.Http11NioProtocol)
3)重启 jboss

完整的参考链接

后台方式启动

nohup sh standalone.sh 1>/dev/null 2>/dev/null &
以后台方式启动,并忽略输出日志,可以保证项目日志不会重复输出。通常情况下,我们项目使用了 log4 j日志,这些日志会输出到 Jboss 的 server.log 文件中,为了避免重复输出,可以使用上述命令不输出到 Jboss 的系统日志中。

访问项目

项目访问路径是http://IP:8080/appName,默认端口是 8080,后面跟应用名称,跟Tomcat完全一样。

启示录

工具都是相通的,Jboss 的使用也挺方便的,对于部署操作来,通过图形界面化,省了不少命令敲击和文件上传的时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值