Apache与JBoss集成安装部署说明文档文档格式.docx
- 文档编号:22932133
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:34
- 大小:126.49KB
Apache与JBoss集成安装部署说明文档文档格式.docx
《Apache与JBoss集成安装部署说明文档文档格式.docx》由会员分享,可在线阅读,更多相关《Apache与JBoss集成安装部署说明文档文档格式.docx(34页珍藏版)》请在冰豆网上搜索。
2.2.9配置contentType及charset,TOMCAT5.0下JSP统一配置12
2.3JVM最小、最大内存的设定13
2.4OS字符集问题13
2.5JBOSS服务的启动、停止13
3.附apachehttps服务器的安装14
1.Apache2.0及连接器jk1.2的编译部署
1.1下载相关软件包
我们需要软件及其版本说明:
a)a)
apache服务器:
httpd-2.0.54
下载地址:
http:
//httpd.apache.org/download.cgi
b)apache/tomcat连接器:
jk1.2.14,这里选用1.2.*版本,虽然有jk2.0,但据相关文档介绍,jk2.0已不再开发,而jk1.2.*版本使用范围很广,久经考验了,稳定性有保障.两个版本系列对应的配置也有很大的变化,故而这里选用jk1.2系列
http:
//www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.14/
安装apache本文档依据的版本是httpd-2.0.54,下载UnixSource,下文介绍主要以linuxOS为主,间或会介绍一点windows下安装的细节。
我们的目标是用apache来做前端的web服务器,后端用jboss3.2.6,实现负载均衡。
1.2apache2.0的编译安装
下载完源程序包之后,放到一个临时目录中,如/home/software/:
#cd/home/software/
#tarzxvfhttpd-2.0.54.tar.gz
#cd/home/software/httpd-2.0.54
#./configure--enable-MODULE=shared--enable-so--with-mpm=worker
#make
#makeinstall
参数解释:
--enable-MODULE=shared:
该参数是使得相关的模块编译为可动态加载模块(DSO模式),如果不选用该选项,apache默认的选项是:
--enable-MODULE=static,表示将相关的模块静态编译。
两者的区别是:
前者使得可以需要更新、重编译某模块(核心模块不受限于这种模式,如core、mod_so)时,只需单独编译该模块即可,而不需重新编译整个apachesourcecode,做到单独升级。
前者弊端是导致apache启动时慢20%左右,在运行阶段慢5%左右,另外DSO模式不是所有OS都支持的,和软件环境有关系。
--enable-so:
该参数表示支持用mod_so模块提供的功能,用LoadModule在httpd.conf文件或包含的conf文件中动态加载某个模块。
--with-mpm=worker:
该参数是配置apache将以何种模式编译的。
Apache网站文档指出不同操作系统下的不同的默认模式.
BeOS
beos
Netware
mpm_netware
OS/2
mpmt_os2
Unix
prefork
Windows
mpm_winnt
在安装完apache后,在类unixOS下,可以在./bin目录下用./httpd–l来看到编译时指定的mpm参数,他们对应着不同的.c模块。
在windows环境下,可以用./bin/Apache–l来查看相关被编译的模块。
Win环境下默认是mpm_winnt,则可以看到:
C:
\ApacheGroup\Apache2\bin>
apache-l
Compiledinmodules:
core.c
mod_win32.c
mpm_winnt.c
http_core.c
mod_so.c
各模式的区别,更具体的描述请参见http:
//httpd.apache.org/docs/2.0/mpm.html,下面只简单说明一下,worker模式是以process/thread混和模式运行的,如果WEB服务器的期望负载较大的话,则推荐使用worker模式,如果需要一个稳定性考虑为优先的服务器的话,推荐使用prefork模式,同样的负载条件下,prefork模式的apache占用的内存会大很多。
默认安装的路径为:
/usr/local/apache2/,如果要指定安装路径,则用参数./configure--prefix=PREFIX来指定安装路径,PREFIX为指定的绝对路径。
可以用PREFIX/bin/apachectlstart来测试是否可以正常启动服务。
可以用PREFIX/bin/httpd–t来测试http.conf的语法是否合法。
1.3jk1.2.14的编译安装
1、#cd/home/software/
2、#tarzxvfjakarta-tomcat-connectors-1.2.14.1-src.tar.gz
3、#cd/home/software/jakarta-tomcat-connectors-1.2.14.1-src/jk/native
4、#./configure--with-apxs=/usr/local/apache2/bin/apxs
5、#make
6、#cp./apache-2.0/mod_jk.so/usr/local/apache2/modules
查看…/native目录,会看到有apache-1.3以及apache-2.0目录,在第4步,用--with-apxs参数来指定扩展程序apxs的位置,make程序会根据提供的apxs的版本来辨别需要针对apache的哪个版本来生成mod_jk.so,如本文所示例,程序将知道需要为apache2.0生成mod_jk.so,因此编译工作将会在...jk/native/apache-2.0中进行,浏览编译日志信息会看到这些信息。
第6步是将编译后的so拷贝至apache的安装路径的modules目录中,应该根据安装路径去调整上述脚本中的路径。
另外可以将mod_jk.so静态连接到apache2.0中,然后再一次编译apache2.0,在上述脚本中加上参数:
./configure--with-apache=/home/software/httpd-2.0.54
具体请参阅:
//tomcat.apache.org/connectors-doc/howto/apache.html
以上工作就算结束了编译、安装工作,下面将进行参数调整,部署工作。
1.4apache及jk1.2的参数配置
1.4.1.httpd.conf的修改
该文件的路径位于$APACHE-HOME/conf
上述编译过程中我们选用的worker模式,因此我们将修改worker模块的配置
<
IfModuleworker.c>
StartServers4#最初建立进程的数量
ServerLimit24#进程建立的最大数量,硬限制
ThreadLimit128#每一进程能创建线程的最大数量,硬限制,该参数建议#和ThreadsPerChild一致,如果ThreadLimit>
ThreadsPerChild的话,会造成不##必要的内存消耗。
MaxClients3072#同时可以得到处理的客户端的最大数量
MinSpareThreads100#所有进程中空闲线程的总数最小数值
MaxSpareThreads200#所有进程中空闲线程的总数最大数值
ThreadsPerChild128#每个子进程可以建立的固定数量的线程
MaxRequestsPerChild0#用于控制服务器建立和结束进程的频率,为0表示没有#限制,但在solarisOS下该值可能会出错,可以设置为1000或2000。
根据系统#的并发负载吧。
/IfModule>
在httpd.conf文件的最后一行加上:
Includeconf/mod_jk2.conf
另外还需修改#ServerName:
80为ServerName127.0.0.1:
80
1.4.2.mod_jk2.conf的所有内容
新建该文件,并将该文件置于$APACHE-HOME/conf
LoadModulejk_modulemodules/mod_jk.so
JkWorkersFileconf/workers2.properties
JkLogFilelogs/mod_jk.log
#Setthejkloglevel[debug/error/info]
JkLogLevelinfo
#Selectthelogformat
JkLogStampFormat"
[%a%b%d%H:
%M:
%S%Y]"
#JkOptionsindicatetosendSSLKEYSIZE,
JkOptions+ForwardKeySize+ForwardURICompat-ForwardDirectories
#JkRequestLogFormatsettherequestformat
JkRequestLogFormat"
%w%V%T"
JkMount/*loadbalancer
#apachewillservethestaticpicture.
#以下命令意味着所有的图片将由APACHE解析
JkUnMount/*.jpgloadbalancer
JkUnMount/*.gifloadbalancer
JkUnMount/*.swfloadbalancer
JkUnMount/*.bmploadbalancer
JkUnMount/*.pngloadbalancer
在上述配置中,是配置所有图片由APACHE来解析,因此我们需要将项目中的所有图片均拷贝到$APACHE-HOME/htdocs/下,如果你的部署的项目(应用),在访问时需要输入前缀,如http:
//www.DDD.com/TestCrm/login.do,则请注意,在$APACHE-HOME/htdocs/下需要建一个目录“TestCrm”,然后按照你项目中图片所在的路径,连同路径中所有目录一并考入TestCrm目录,例如你的图片位于
…./TestCrm.war/images/1.jpg,那么为了APACHE能找到图片,则你在APACHE中的图片位置应是$APACHE-HOME/htdocs/TestCrm/images/1.jpg。
1.4.3.workers2.properties的所有内容
请注意:
下列配置中的server105,server106等紫色的斜体字符串都是根据部署的jboss的信息来部署的,其中server105,server106需要在jboss的相关配置中修改,具体详见下文介绍。
对应的IP地址应改为JBOSS所在的serverIP。
#以下为workers2.propertie的内容
worker.list=loadbalancer,server105,server106
#Definethefirstnode...
worker.server105.port=8009
worker.server105.host=192.10.12.105
worker.server105.type=ajp13
worker.server105.lbfactor=1
#worker.server105.local_worker=1
worker.server105.cachesize=100
#Definethe2ndnode...
worker.server106.port=8009
worker.server106.host=192.10.12.106
worker.server106.type=ajp13
worker.server106.lbfactor=1
#worker.server106.local_worker=1
worker.server106.cachesize=100
#Nowwedefinetheload-balancingbehaviour
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=server105,server106
worker.loadbalancer.sticky_session=1
说明:
worker.loadbalancer.sticky_session=1参数的设定,意味着一旦用户通过APACHE连接到某台JBOSSSERVER(创建了session),则只要在该台JBOSS服务正常的情况下,该用户所有的请求都将会发送至该JBOSSSERVER。
1.5apache服务的启动和停止
/usr/local/apache2/bin/apachectlstart
/usr/local/apache2/bin/apachectlstop
如果启动时报错,提示80端口被绑定,请注意有可能是在装linuxOS时选装了apache并且启动了服务,请直接在命令行用apachectlstop,停止原先的服务,其存在路径一般为/usr/sbin/apachectl
2.JBOSS3.2.3/3.2.6部署及配置修改
2.0FORNEWUSER
2.0.1JBOSS的一点说明
$JBOSS-HOME/server/下有3个目录,all/default/minimal,它们是表示3种配置,全部的配置、默认配置、最小配置,我们在启动JBOSS服务时,可以指定
run–call表示是启动all配置(将会加载所有服务);
run表示是以默认配置启动;
run–cmimimal表示是启动mimimal配置。
这三者所加载的服务数量不同,具体区别可查阅JBOSS相关文档,你还可以自己定义一个配置,如test,属于高手去为了性能上的考虑了,那这份文档对你的帮助不会太大了。
如果你确定了JBOSS服务启动的配置,那么你的应用及相关配置就需要部署在对应的目录下的相关的路径下,如all/,default/,minimal/下。
2.0.1JBOSS常用配置文件的路径
为了描述方便,以下描述将以JBOSS3.2.6版本,default配置为例,如果你以别的配置启动,则在对应的目录下寻找或配置相关文件。
1、相关DTD定义文件位于$JBOSS-HOME/docs/dtd,在其下的文件中可以查阅某个XML配置文件中某个元素或属性的意义。
2、数据源配置文件的路径,$JBOSS-HOME/server/default/deploy,文件格式必须是*-ds.xml的样式。
不同的数据库配置参数可参考$JBOSS-HOME/docs/examples/jca/下的示例文档。
有关参数的细节在下面会有一定的描述。
3、公共的jar包我们可以放在$JBOSS-HOME/server/default/lib下,如数据库的JDBCjar,log4j.jar等,如果这些JAR已经在该lib下放置了,那么我们的应用WEB-INF/lib下不应该再放置,否则JBOSS也会将他们再一次加载,白白占用内存。
4、配置日志的文件,log4j.xml位于$JBOSS-HOME/server/default/conf下,具体配置下文还会有一点介绍
5、$JBOSS-HOME/server/default/work下存放的是JSP编译后的.java及.class文件,如果调试JSP时出错了,可以到该目录下(一级级去翻吧)去找对应的文件,调试问题。
还有个小TIPS,有时我们明明把一个JSP更新到对应的目录里了,可是去刷新页面时,内容还是旧的,为了解决该问题,我们可以到work目录下,将对应的.java及.class文件删了,再刷新即可,这个原因不好推测,有时可以自动刷新,有时不行。
单个的TOMCAT都能自动刷新,不知为何集成到JBOSS里却有时不行。
还需注意的事,你在清除旧的java、class文件时,不能为了省事,而直接删除目录,否则刷新时会报错的,等着你的就是要重启JBOSS服务了。
6、$JBOSS-HOME/server/default/log下存放的是日志文件,默认的log4j.xml配置是将日志输出到该文件夹下的server.log文件,可以去查看信息进行调试。
7、我们的应用一般部署在$JBOSS-HOME/server/default/deploy/jbossweb-tomcat50.sar/下,建个TestCrm.war目录,把我们的整个应用部署在该.war目录下,这样JSP、Servlet将由tomcat引擎来解析处理。
8、配置应用的WEB服务的端口号及参数。
JBOSS3.2.6是在…./deploy/jbossweb-tomcat50.sar/server.xml中,自己找8080,修改为你想设定的端口即可。
JBOSS3.2.3是在…/default/deploy/jbossweb-tomcat41.sar/META-INF/jboss-service.xml中配置。
2.1JBOSS应用程序的下载及安装
前往去下载相应的版本。
直接解压到相关的目录即可。
2.2JBOSS应用程序的配置调整
2.2.1配置负载均衡,调整参数
需要修改配置文件以适应apache中配置的“sessionsticky配置”。
如下:
Jboss3.2.3修改:
%JBOSS_HOME%/server/default/deploy/jbossweb-tomcat41.sar/META-INF/jboss-service.xml
修改<
Enginename="
MainEngine"
defaultHost="
localhost"
>
为
jvmRoute="
server106"
与上述workers2.properties定义的内容一致。
Jboss3.2.6修改:
%JBOSS_HOME%/server/default/deploy/jbossweb-tomcat50.sar/server.xml
jboss.web"
为:
Jboss4.0的修改和Jboss3.2.6的一致。
如上配置后,就可以实现apache+jboss的负载均衡。
2.2.2配置集群(Clustering),调整参数
如果我们要想使得几台JBOSS应用服务器互为备份(仅限于SESSION),在群内一台JBOSS服务器down掉的时候,用户不受影响,继续以登陆用户身份进行工作,则我们需要配置Clustering,并启动相关服务。
下面将描述相关配置项:
1)、修改应用APP的web.xml:
Jboss3.2.6:
../default/deploy/jbossweb-tomcat50.sar/Test.war/WEB-INF/web.xml
Jboss3.2.3:
../default/deploy/jbossweb-tomcat41.sar/Test.war/WEB-INF/web.xml
修改内容如下:
?
xmlversion="
1.0"
!
DOCTYPEweb-appPUBLIC
"
-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN"
"
web-app>
…….
…..
….
distributable/>
/web-app>
2)、需要启动一个服务cluster-service.xml
如果是以run-call来启动jboss服务,则默认是将cluster服务启动,无需做什么配置工作,只需确认相关文件是否存在即可。
确认…/server/all/deploy/下存在cluster-service.xml文件;
确认…/server/all/lib/下存在jgroups.jar文件,如果没有则重新安装jboss。
如果应用程序部署在default配置下,则需将上述的两个文件分别拷入
…/server/default/deploy/、…/server/default/lib/目录下。
配置完毕,如有异常,请查看日志。
更详细的信息请参阅JBOSS.com上提供的admin.pdf。
2.2.3配置数据源,调整参数
各种类型的数据库,都可以根据%JBOSS_HOME%/docs/examples/jca/下的示例文档配置,更详细的参数配置可参阅JBOSS.com上的文档或…/docs/dtd/下的dtd定义来配置。
下面以oracle为例,提供我们在生产机环境的配置。
该xml文件需要被部署在%JBOSS_HOME%/se
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Apache JBoss 集成 安装 部署 说明 文档