我在MyEclipse上做了一个web项目用jboss5做服务器怎么配置才能让外网访问我
我在MyEclipse上做了一个web项目用jboss5做服务器怎么配置才能让外网访问我做的网页?我的网络环境是校园网(每个宿舍有一个主网线,通过交换机连接不同电脑,使用...
我在MyEclipse上做了一个web项目用jboss5做服务器怎么配置才能让外网访问我做的网页?
我的网络环境是校园网(每个宿舍有一个主网线,通过交换机连接不同电脑,使用drcom认证上网) 展开
我的网络环境是校园网(每个宿舍有一个主网线,通过交换机连接不同电脑,使用drcom认证上网) 展开
展开全部
前提是已经安装了jdk(jre)并配置环境变量
下载jboss5.x.x
解压后放在d盘下,注意路径中不能有空格或者汉字(所以不要放到programfiles下面)
启动jboss:D:\jboss-5.1.0.GA\bin\run.bat (windows用这个启动)
打开ie,http:\\127.0.0.1:8080
可以进入jboss的管理页面,证明jboss是正常的。
下面开始部署我的应用
1、 配置oracle数据源
在D:\jboss-5.1.0.GA\docs\examples\jca下面,复制oracle-ds.xml,
粘贴到D:\jboss-5.1.0.GA\server\default\deploy目录下,用ultraEdit打开,修改为如下内容
<datasources>
<local-tx-datasource>
<jndi-name>OracleDS</jndi-name>
<connection-url>jdbc:oracle:thin:@192.168.2.163:1521:orcl</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>name</user-name>
<password>123456</password>
<min-pool-size>5</min-pool-size>
<max-pool-size>50</max-pool-size>
<exception-sorter-class-name>
org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter
</exception-sorter-class-name>
<metadata>
<type-mapping>Oracle9i</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
将oracle驱动jar包ojdbc14.jar(或者ojdbc14_g.jar)拷贝到
D:\jboss-5.1.0.GA\server\default\lib目录下,数据源配置完毕
2、 部署项目
把开发好的fids.war文件夹(或者是打包好的war)复制到
D:\jboss-5.1.0.GA\server\default\deploy目录下
现在启动jboss,可能会报一大堆错,基本上是jar冲突引起的,jboss5在类的加载上非常严格,如果jboss本身自带了某些jar包,你的项目里在打包时就不能再有相同的jar,我遇到的问题是Web mapping 已存在、xml解析错误以及数据库驱动路径错误,错误信息部分如下:
org.jboss.deployers.spi.DeploymentException:Web mapping already exists for deployment URL file:/D:/jboss-5.1.0.GA/server/default/deploy/aocs.war/
org.jboss.xb.binding.JBossXBRuntimeException:Failed to create a new SAX parser
----------------------------------------------------------------------------------------------------------------------
org.jboss.resource.JBossResourceException:Could not create connection; - nested throwable: (org.jboss.resource.JBossResourceException:Apparently wrong driver class specified for URL: class:oracle.jdbc.driver.OracleDriver, url:jdbc:oracle:thin:@192.168.2.163:1521:orcl)
解决办法:
把D:\jboss-5.1.0.GA\server\default\deploy下的ROOT.war删除;
把项目里lib目录下(D:\jboss-5.1.0.GA\server\default\deploy\fids.war\WEB-INF\lib)
的ojdbc14.jar,ojdbc14_g.jar,xmlParseApi.jar,xercesImpl.jar删除,重新启动jboss,ok了。
3、 新的问题出现了,本机可以通过127.0.0.1:8080来访问,其他机器却不能通过ip地址来访问,修改D:\jboss-5.1.0.GA\server\default\deploy\jbossweb.sar\server.xml
<Connector protocol="HTTP/1.1" port="80" address="0.0.0.0"
connectionTimeout="20000"redirectPort="8443"/>
这里把8080端口改为80,访问时就不需要在ip后面加端口号8080
把address改为0.0.0.0,或者改成真实的服务器ip,本机以外的用户就可以通过ip来访问了。
最后修改一下jboss启动内存,默认只有512m,如果你的项目够大,这点内存是不够的,用记事本打开run.conf.bat,找到JAVA_OPTS="-Xms128m –Xmx512m -XX:MaxPermSize=256m 改成
JAVA_OPTS="-Xms512m -Xmx1400m -XX:MaxPermSize=256m
注:32位jdk最大支持1500m,再大会报错,无法启动jboss,64位jdk据说没有此限制。
改动完后执行一下,重新启动jboss,看启动内存是不是已经变了。
有的人喜欢加上Xss128k,这个一定不要太大,否则每个线程都会占用这样的数值,线程多了,内存很快耗尽,jboss崩溃。
下载jboss5.x.x
解压后放在d盘下,注意路径中不能有空格或者汉字(所以不要放到programfiles下面)
启动jboss:D:\jboss-5.1.0.GA\bin\run.bat (windows用这个启动)
打开ie,http:\\127.0.0.1:8080
可以进入jboss的管理页面,证明jboss是正常的。
下面开始部署我的应用
1、 配置oracle数据源
在D:\jboss-5.1.0.GA\docs\examples\jca下面,复制oracle-ds.xml,
粘贴到D:\jboss-5.1.0.GA\server\default\deploy目录下,用ultraEdit打开,修改为如下内容
<datasources>
<local-tx-datasource>
<jndi-name>OracleDS</jndi-name>
<connection-url>jdbc:oracle:thin:@192.168.2.163:1521:orcl</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>name</user-name>
<password>123456</password>
<min-pool-size>5</min-pool-size>
<max-pool-size>50</max-pool-size>
<exception-sorter-class-name>
org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter
</exception-sorter-class-name>
<metadata>
<type-mapping>Oracle9i</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
将oracle驱动jar包ojdbc14.jar(或者ojdbc14_g.jar)拷贝到
D:\jboss-5.1.0.GA\server\default\lib目录下,数据源配置完毕
2、 部署项目
把开发好的fids.war文件夹(或者是打包好的war)复制到
D:\jboss-5.1.0.GA\server\default\deploy目录下
现在启动jboss,可能会报一大堆错,基本上是jar冲突引起的,jboss5在类的加载上非常严格,如果jboss本身自带了某些jar包,你的项目里在打包时就不能再有相同的jar,我遇到的问题是Web mapping 已存在、xml解析错误以及数据库驱动路径错误,错误信息部分如下:
org.jboss.deployers.spi.DeploymentException:Web mapping already exists for deployment URL file:/D:/jboss-5.1.0.GA/server/default/deploy/aocs.war/
org.jboss.xb.binding.JBossXBRuntimeException:Failed to create a new SAX parser
----------------------------------------------------------------------------------------------------------------------
org.jboss.resource.JBossResourceException:Could not create connection; - nested throwable: (org.jboss.resource.JBossResourceException:Apparently wrong driver class specified for URL: class:oracle.jdbc.driver.OracleDriver, url:jdbc:oracle:thin:@192.168.2.163:1521:orcl)
解决办法:
把D:\jboss-5.1.0.GA\server\default\deploy下的ROOT.war删除;
把项目里lib目录下(D:\jboss-5.1.0.GA\server\default\deploy\fids.war\WEB-INF\lib)
的ojdbc14.jar,ojdbc14_g.jar,xmlParseApi.jar,xercesImpl.jar删除,重新启动jboss,ok了。
3、 新的问题出现了,本机可以通过127.0.0.1:8080来访问,其他机器却不能通过ip地址来访问,修改D:\jboss-5.1.0.GA\server\default\deploy\jbossweb.sar\server.xml
<Connector protocol="HTTP/1.1" port="80" address="0.0.0.0"
connectionTimeout="20000"redirectPort="8443"/>
这里把8080端口改为80,访问时就不需要在ip后面加端口号8080
把address改为0.0.0.0,或者改成真实的服务器ip,本机以外的用户就可以通过ip来访问了。
最后修改一下jboss启动内存,默认只有512m,如果你的项目够大,这点内存是不够的,用记事本打开run.conf.bat,找到JAVA_OPTS="-Xms128m –Xmx512m -XX:MaxPermSize=256m 改成
JAVA_OPTS="-Xms512m -Xmx1400m -XX:MaxPermSize=256m
注:32位jdk最大支持1500m,再大会报错,无法启动jboss,64位jdk据说没有此限制。
改动完后执行一下,重新启动jboss,看启动内存是不是已经变了。
有的人喜欢加上Xss128k,这个一定不要太大,否则每个线程都会占用这样的数值,线程多了,内存很快耗尽,jboss崩溃。
追问
本地局域网访问正常,外网访问就不行了,怎么办?
追答
这不是你的问题了,是外网ip地址映射有问题,是服务商或路由器的问题
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询