ITPub博客

首页 > IT基础架构 > 网络安全 > Apache安装及jboss部署说明文档

Apache安装及jboss部署说明文档

原创 网络安全 作者:tonywi888 时间:2007-11-07 09:06:00 0 删除 编辑

目 录

1 .Apache2.0及连接器jk1.2的编译部署... 1

1.1下载相关软件包... 1

1.2 apache2.0的编译安装... 2

1.3 jk1.2.14的编译安装... 3

1.4 apachejk1.2的参数配置... 3

1.4.1.httpd.conf的修改... 3

1.4.2.mod_jk2.conf的所有内容... 4

1.4.3.workers2.properties的所有内容... 4

1.5 apache服务的启动和停止... 5

2.JBOSS3.2.3/3.2.6部署及配置修改... 5

2.0 FOR NEW USER. 5

2.0.1 JBOSS 的一点说明... 5

2.0.1 JBOSS常用配置文件的路径... 5

2.1 JBOSS 应用程序的下载及安装... 6

2.2 JBOSS 应用程序的配置调整... 6

2.2.1配置负载均衡,调整参数... 6

2.2.2配置集群(Clustering),调整参数... 7

2.2.3配置数据源,调整参数... 7

2.2.4配置jboss Connector参数... 8

2.2.5访问URL如果是目录,不想显示该目录下文件... 9

2.2.6设置某个应用APP为默认应用... 9

2.2.7配置数据源在APP应用加载前有效(各相关服务加载完毕) 10

2.2.8日志配置,配置log4j.xml 11

2.2.9配置contentTypecharsetTOMCAT5.0JSP统一配置... 12

2.3 JVM最小、最大内存的设定... 13

2.4 OS字符集问题... 13

2.5 JBOSS服务的启动、停止... 13

3.apache https 服务器的安装... 14

1 .Apache2.0及连接器jk1.2的编译部署

1.1下载相关软件包

我们需要软件及其版本说明:

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,下载Unix Source,下文介绍主要以linux OS为主,间或会介绍一点windows下安装的细节。

我们的目标是用apache来做前端的web服务器,后端用jboss3.2.6,实现负载均衡。

1.2 apache2.0的编译安装

下载完源程序包之后,放到一个临时目录中,如 /home/software/:

#cd /home/software/

#tar zxvf httpd-2.0.54.tar.gz

#cd /home/software/httpd-2.0.54

#./configure --enable-MODULE=shared --enable-so --with-mpm=worker

#make

#make install

参数解释:

--enable-MODULE=shared :该参数是使得相关的模块编译为可动态加载模块(DSO模式),如果不选用该选项,apache默认的选项是: --enable-MODULE=static,表示将相关的模块静态编译。

两者的区别是:前者使得可以需要更新、重编译某模块(核心模块不受限于这种模式,如coremod_so)时,只需单独编译该模块即可,而不需重新编译整个apache source code,做到单独升级。前者弊端是导致apache启动时慢20%左右,在运行阶段慢5%左右,另外DSO模式不是所有OS都支持的,和软件环境有关系。

--enable-so :该参数表示支持用mod_so模块提供的功能LoadModulehttpd.conf文件或包含的conf文件中动态加载某个模块。

--with-mpm=worker :该参数是配置apache将以何种模式编译的。Apache网站文档指出不同操作系统下的不同的默认模式.

BeOS

beos

Netware

mpm_netware

OS/2

mpmt_os2

Unix

prefork

Windows

mpm_winnt

在安装完apache后,在类unix OS下,可以在./bin目录下用./httpd –l 来看到编译时指定的mpm参数,他们对应着不同的.c模块。

windows环境下,可以用./bin/Apache –l 来查看相关被编译的模块。Win环境下默认是 mpm_winnt,则可以看到:

C:Apache GroupApache2bin>apache -l

Compiled in modules:

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/apachectl start 来测试是否可以正常启动服务。

可以用PREFIX/bin/httpd –t来测试http.conf的语法是否合法。

1.3 jk1.2.14的编译安装

下载完源程序包之后,放到一个临时目录中,如 /home/software/:

1、#cd /home/software/

2、#tar zxvf jakarta-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

具体请参阅:

http://tomcat.apache.org/connectors-doc/howto/apache.html

以上工作就算结束了编译、安装工作,下面将进行参数调整,部署工作。

1.4 apache及jk1.2的参数配置

1.4.1.httpd.conf的修改

该文件的路径位于$APACHE-HOME/conf

上述编译过程中我们选用的worker模式,因此我们将修改worker模块的配置

StartServers 4 #最初建立进程的数量

ServerLimit 24 #进程建立的最大数量,硬限制

ThreadLimit 128 #每一进程能创建线程的最大数量,硬限制,该参数建议#ThreadsPerChild一致,如果ThreadLimit > ThreadsPerChild的话,会造成不##必要的内存消耗。

MaxClients 3072 #同时可以得到处理的客户端的最大数量

MinSpareThreads 100 #所有进程中空闲线程的总数最小数值

MaxSpareThreads 200 #所有进程中空闲线程的总数最大数值

ThreadsPerChild 128 #每个子进程可以建立的固定数量的线程

MaxRequestsPerChild 0 #用于控制服务器建立和结束进程的频率,0表示没有#限制,但在solaris OS下该值可能会出错,可以设置为10002000。根据系统#的并发负载吧。

httpd.conf文件的最后一行加上:Include conf/mod_jk2.conf

另外还需修改#ServerName www.example.com:80ServerName 127.0.0.1:80

1.4.2.mod_jk2.conf的所有内容

新建该文件,并将该文件置于$APACHE-HOME/conf

LoadModule jk_module modules/mod_jk.so

JkWorkersFile conf/workers2.properties

JkLogFile logs/mod_jk.log

# Set the jk log level [debug/error/info]

JkLogLevel info

# Select the log format

JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

# JkOptions indicate to send SSL KEY SIZE,

JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format

JkRequestLogFormat "%w %V %T"

JkMount /* loadbalancer

#apache will serve the static picture.

#以下命令意味着所有的图片将由APACHE解析

JkUnMount /*.jpg loadbalancer

JkUnMount /*.gif loadbalancer

JkUnMount /*.swf loadbalancer

JkUnMount /*.bmp loadbalancer

JkUnMount /*.png loadbalancer

在上述配置中,是配置所有图片由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的所有内容

新建该文件,并将该文件置于$APACHE-HOME/conf

请注意:下列配置中的server105,server106等紫色的斜体字符串都是根据部署的jboss的信息来部署的,其中server105,server106需要在jboss的相关配置中修改,具体详见下文介绍。对应的IP地址应改为JBOSS所在的server IP

#以下为workers2.propertie的内容

worker.list=loadbalancer,server105,server106

# Define the first node...

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

# Define the 2nd node...

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

# Now we define the load-balancing behaviour

worker.loadbalancer.type=lb

worker.loadbalancer.balanced_workers=server105,server106

worker.loadbalancer.sticky_session=1

说明:worker.loadbalancer.sticky_session=1参数的设定,意味着一旦用户通过APACHE连接到某台JBOSS SERVER(创建了session),则只要在该台JBOSS服务正常的情况下,该用户所有的请求都将会发送至该JBOSS SERVER

1.5 apache服务的启动和停止

/usr/local/apache2/bin/apachectl start

/usr/local/apache2/bin/apachectl stop

如果启动时报错,提示80端口被绑定,请注意有可能是在装linux OS时选装了apache并且启动了服务,请直接在命令行用apachectl stop ,停止原先的服务,其存在路径一般为/usr/sbin/apachectl

2.JBOSS3.2.3/3.2.6部署及配置修改

2.0 FOR NEW USER

2.0.1 JBOSS 的一点说明

$JBOSS-HOME/server/下有3个目录,all/default/minimal,它们是表示3种配置,全部的配置、默认配置、最小配置,我们在启动JBOSS服务时,可以指定

run –c all 表示是启动all配置(将会加载所有服务)run 表示是以默认配置启动;

run –c mimimal 表示是启动mimimal配置。这三者所加载的服务数量不同,具体区别可查阅JBOSS相关文档,你还可以自己定义一个配置,如test,属于高手去为了性能上的考虑了,那这份文档对你的帮助不会太大了。

如果你确定了JBOSS服务启动的配置,那么你的应用及相关配置就需要部署在对应的目录下的相关的路径下,如all/default/minimal/下。

2.0.1 JBOSS常用配置文件的路径

为了描述方便,以下描述将以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下,如数据库的JDBC jar,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里却有时不行。还需注意的事,你在清除旧的javaclass文件时,不能为了省事,而直接删除目录,否则刷新时会报错的,等着你的就是要重启JBOSS服务了。

6$JBOSS-HOME/server/default/log下存放的是日志文件,默认的log4j.xml配置是将日志输出到该文件夹下的server.log文件,可以去查看信息进行调试。

7、我们的应用一般部署在$JBOSS-HOME/server/default/deploy/jbossweb-tomcat50.sar/下,建个TestCrm.war目录,把我们的整个应用部署在该.war目录下,这样JSPServlet将由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.1 JBOSS 应用程序的下载及安装

前往http://www.jboss.com去下载相应的版本。直接解压到相关的目录即可。

2.2 JBOSS 应用程序的配置调整

2.2.1配置负载均衡,调整参数

需要修改配置文件以适应apache中配置的“session sticky配置”。如下:

Jboss3.2.3修改:

%JBOSS_HOME%/server/default/deploy/jbossweb-tomcat41.sar/META-INF/ jboss-service.xml

修改

jvmRoute=" server106"

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8570952/viewspace-981052/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-02-25

  • 博文量
    159
  • 访问量
    712673