我在MyEclipse上做了一个web项目用jboss5做服务器怎么配置才能让外网访问我
前提是已经安装了jdk(jre)并配置环境变量
下载jboss5xx
解压后放在d盘下,注意路径中不能有空格或者汉字(所以不要放到programfiles下面)
启动jboss:D:\jboss-510GA\bin\runbat (windows用这个启动)
打开ie,http:\\127001:8080
可以进入jboss的管理页面,证明jboss是正常的。
下面开始部署我的应用
1、 配置oracle数据源
在D:\jboss-510GA\docs\examples\jca下面,复制oracle-dsxml,
粘贴到D:\jboss-510GA\server\default\deploy目录下,用ultraEdit打开,修改为如下内容
<datasources>
<local-tx-datasource>
<jndi-name>OracleDS</jndi-name>
<connection-url>jdbc:oracle:thin:@1921682163:1521:orcl</connection-url>
<driver-class>oraclejdbcdriverOracleDriver</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>
orgjbossresourceadapterjdbcvendorOracleExceptionSorter
</exception-sorter-class-name>
<metadata>
<type-mapping>Oracle9i</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>
将oracle驱动jar包ojdbc14jar(或者ojdbc14_gjar)拷贝到
D:\jboss-510GA\server\default\lib目录下,数据源配置完毕
2、 部署项目
把开发好的fidswar文件夹(或者是打包好的war)复制到
D:\jboss-510GA\server\default\deploy目录下
现在启动jboss,可能会报一大堆错,基本上是jar冲突引起的,jboss5在类的加载上非常严格,如果jboss本身自带了某些jar包,你的项目里在打包时就不能再有相同的jar,我遇到的问题是Web mapping 已存在、xml解析错误以及数据库驱动路径错误,错误信息部分如下:
orgjbossdeployersspiDeploymentException:Web mapping already exists for deployment URL file:/D:/jboss-510GA/server/default/deploy/aocswar/
orgjbossxbbindingJBossXBRuntimeException:Failed to create a new SAX parser
----------------------------------------------------------------------------------------------------------------------
orgjbossresourceJBossResourceException:Could not create connection; - nested throwable: (orgjbossresourceJBossResourceException:Apparently wrong driver class specified for URL: class:oraclejdbcdriverOracleDriver, url:jdbc:oracle:thin:@1921682163:1521:orcl)
解决办法:
把D:\jboss-510GA\server\default\deploy下的ROOTwar删除;
把项目里lib目录下(D:\jboss-510GA\server\default\deploy\fidswar\WEB-INF\lib)
的ojdbc14jar,ojdbc14_gjar,xmlParseApijar,xercesImpljar删除,重新启动jboss,ok了。
3、 新的问题出现了,本机可以通过127001:8080来访问,其他机器却不能通过ip地址来访问,修改D:\jboss-510GA\server\default\deploy\jbosswebsar\serverxml
<Connector protocol="HTTP/11" port="80" address="0000"
connectionTimeout="20000"redirectPort="8443"/>
这里把8080端口改为80,访问时就不需要在ip后面加端口号8080
把address改为0000,或者改成真实的服务器ip,本机以外的用户就可以通过ip来访问了。
最后修改一下jboss启动内存,默认只有512m,如果你的项目够大,这点内存是不够的,用记事本打开runconfbat,找到JAVA_OPTS="-Xms128m –Xmx512m -XX:MaxPermSize=256m 改成
JAVA_OPTS="-Xms512m -Xmx1400m -XX:MaxPermSize=256m
注:32位jdk最大支持1500m,再大会报错,无法启动jboss,64位jdk据说没有此限制。
改动完后执行一下,重新启动jboss,看启动内存是不是已经变了。
有的人喜欢加上Xss128k,这个一定不要太大,否则每个线程都会占用这样的数值,线程多了,内存很快耗尽,jboss崩溃。
myeclipse中用tomcat服务器配置jndi的方法:
1、配置D:\Tomcat 55\conf\serverxml在serverxml中的中添加如下配置信息:
type="javaxsqlDataSource"
driverClassName="commysqljdbcDriver"
password="yang"
maxIdle="2"
maxWait="5000"
username="root"
url="jdbc:mysql://localhost:3306/math"
maxActive="4"/>
注:name是连接池的名字可任取,type,是数据源的类型,driverClassName是驱动程序的类名好像得这么写,url是数据库的路径math为数据库名。
2、配置D:\Tomcat 55\webapps\DBtest\WEB-INF\webxml在中加入如入信息
DB Connection
Test
javaxsqlDataSource
Container
注:其中的res-ref-name必须和前面的连接池名相同。
3、配置D:\Tomcat 55\webapps\DBtest\META-INF\contextxml全部内容如下
debug="5"
reloadable="true"
crossContext="true">
注:path是工作区的路径,ResourceLink name和global好像都得和前面的连接池的名字相同。
0条评论