Apache+WebSphere 服务器部署方案版本号:V1.12011年9月目录重要提示 (2)1Linux 安装 (2)1.1安装全部程序 (2)1.2安装源设置 (2)2Apache安装 (3)2.1准备安装 (3)2.2安装Apache Web Server (3)2.3验证安装 (4)2.4编译代理/反向代理模块 (5)2.5配置代理/反向代理模块 (6)2.6创建配置文件crossdomain.xml (8)2.7Apache中文乱码问题解决 (8)2.8配置RewriteRule (11)3Was7 Plugin安装 (11)3.1Websphere常用命令 (12)3.2JDNI配置 (12)3.3应用服务器单机版配置 (16)3.4应用服务器集群版配置 (16)4常见问题 (23)4.1环境问题 (23)4.2应用问题 (24)重要提示Web服务器包括apache的安装部署和WAS7 Plugin安装部署两部分,如果的websphere应用服务器使用非集群模式,plugin则不需要安装,只需配置本文2.1章节内容,如果websphere应用服务器使用群集模式,则需要按照本文2.2章节进行plugin安装配置。
1Linux 安装1.1 系统安装1.根分区磁盘容量应大于20G2.推荐安装所有应用程序1.2 安装源设置图中黑色边框指示设置系统安装源,尤其在服务器无法连接外网时需要使用光盘作为安装源2Apache安装2.1 准备安装关闭系统自带的web服务:#chkconfig httpd off安装gcc(适用于系统没有安装gcc时)#yum install gcc*(yum install gcc-c++ libstdc++-devel)出现y/n提示时,输入y下载并解压安装程序:#cd ~/#wget /httpd/httpd-2.2.15.tar.gz#tar –zxvf httpd-2.2.15.tar.gz -C /usr/src把包解压到/usr/src2.2 安装Apache Web Server进入源码目录:#cd /usr/src/httpd-2.2.15配置编译文件:#./configure --prefix=/opt/apache --enable-so --enable-mods-shared=most --with-mpm=worker编译文件:#make安装程序:#make install2.3 验证安装进入安装后目录:# cd /opt/apache/检查进程模式:#./apachectl –lCompiled in modules:core.cworker.chttp_core.cmod_so.c启动Apache Web Server:#./apachectl start打开浏览器,输入webserver地址,出现如下界面表示apache安装成功。
停止Apache Web Server:#./apachectl stop2.4 编译代理/反向代理模块进入源码目录:#cd /usr/src/httpd-2.2.15/modules/proxy生成mod_proxy.so:#/opt/apache/bin/apxs -i -a -c mod_proxy.c proxy_util.c生成 mod_proxy_http.so:#/opt/apache/bin/apxs -i -a -c mod_proxy_http.c编译生成缓存模块:#cd /usr/src/httpd-2.2.15/modules/cache生成mod_cache.c:#/opt/apache/bin/apxs -i -a -c mod_cache.c cache_util.c cache_cache.c cache_storage.c cache_pqueue.c cache_hash.c生成 mod_mem_cache.so:#/opt/apache/bin/apxs -i -a -c mod_mem_cache.c生成mod_dist_cache.so:#/opt/apache/bin/apxs -i -a -c mod_disk_cache.c生成mod_file_cache.c:#/opt/apache/bin/apxs -i -a -c mod_file_cache.c检查httpd.conf配置文件:#cat /opt/apache/conf/httpd.conf重新启动Apache#/opt/apache/bin/apachectl start2.5 配置代理/反向代理模块httpd.conf中添加如下:###防止中间的防火墙杀掉不活动的连接,设定keepalive=OnProxyRequests Off<Proxy *>Order deny,allow# Deny from allAllow from all</Proxy>####下面两行是配置反向代理#作用:http://localhost/xsm2跳转到/xsm2/ProxyPass /xsm2/ /xsm2/ ProxyPassReverse /xsm2/ /xsm2/####下面是配置缓存<IfModule mod_mem_cache.c>CacheEnable mem /xsm2/CacheLastModifiedFactor 1.0#默认缓存有效期(秒)#CacheDefaultExpire 3600#缓存允许使用的最大内存量,以KB为单位MCacheSize 2048000#最大缓存对象数MCacheMaxObjectCount 30000# 允许缓存的最小文档大小(字节)MCacheMinObjectSize 1# 缓存允许的最大文档大小(字节)MCacheMaxObjectSize 10240000</IfModule>####下面是配置客户端缓存<Location /xsm2># 启用有效期控制ExpiresActive On# swf文档的有效期是最后修改时刻后的(单位秒)ExpiresByType application/x-shockwave-flash A43200# html文档的有效期是最后修改时刻后的十二小时# 注意应用系统使用html模板时,要将此行注释,否则html模板被缓存 ExpiresByType text/html A43200# xml文档的有效期是最后修改时刻后的十二小时ExpiresByType application/xml A43200# xml文档的有效期是最后修改时刻后的十二小时ExpiresByType text/xml A43200# png文档的有效期是最后修改时刻后的七天ExpiresByType image/png A43200# gif文档的有效期是最后修改时刻后的七天ExpiresByType image/gif A43200# jpeg文档的有效期是最后修改时刻后的七天ExpiresByType image/jpeg A43200</Location>2.6 创建配置文件crossdomain.xmlhttpd.conf中找到DocumentRoot,在此行对应目录下创建文件crossdomain.xmlcrossdomain.xm文件内容如下:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE cross-domain-policy SYSTEM"/xml/dtds/cross-domain-policy.dtd" ><cross-domain-policy><site-control permitted-cross-domain-policies="all" /><allow-access-from domain="*" /><allow-http-request-headers-from domain="*" headers="*"/>2.7 Apache中文乱码问题解决1.download and patchcd /backup/wget http://webdav.todo.gr.jp/download/mod_encoding-20021209.tar.gz #download patchwget http://webdav.todo.gr.jp/download/experimental/mod_encoding.c.ap ache2.20040616#download patchwget /~oyaji/faq/mod_encoding.c-apache2.2-200605 20.patchtar -xzvf mod_encoding-20021209.tar.gz# 新版本mod_encoding.c覆盖cp mod_encoding.c.apache2.20040616 mod_encoding-20021209/mod_encoding .ccp mod_encoding.c-apache2.2-20060520.patch mod_encoding-20021209/cd mod_encoding-20021209# 安装补丁patch -p0 < mod_encoding.c-apache2.2-20060520.patch2.install iconv-hook配置并安装iconv_hook。
cd /backup/mod_encoding-20021209/lib./configuremakemake install# 查看是否正确安装iconv_hookls /usr/local/lib/libicon*# 配置系统库文件搜索路径echo /usr/local/lib >> /etc/ld.so.confldconfig# 64位系统cp /usr/local/lib/libiconv* /usr/lib643.编译mod_encodingcd /backup/mod_encoding-20021209./configure --with-apxs=/opt/apache/bin/apxs --with-iconv-hook=/usr/i ncludemakels -l mod_encoding.ogcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -Llib -liconv _hook# 拷贝mod_encoding.so到模块存放目录,一般为${APACHE_HOME}/modules/ cp mod_encoding.so /opt/apache/modules#修改 apache 配置文件httpd.conf# convert url to utf8LoadModule encoding_module modules/mod_encoding.so<IfModule mod_encoding.c>EncodingEngine onNormalizeUsername onSetServerEncoding GBKDefaultClientEncoding UTF-8 GBK GB2312AddClientEncoding "(Microsoft .* DAV $)" UTF-8 GBK GB2312AddClientEncoding "Microsoft .* DAV" UTF-8 GBK GB2312AddClientEncoding "Microsoft-WebDAV*" UTF-8 GBK GB2312</IfModule>重启apache测试效果2.8配置RewriteRule重写规则安装程序需要进行配置3Was73.1 Was安装3.2 Websphere常用1.命令3.3 JDNI配置1.配置环境变量,针对数据库驱动2.J2EE 连接器体系结构(J2C)认证数据注意:别名在数据源配置时会被使用2.新增数据源,数据源名称自定义:调整参数和属性查看jndi的iiop端口,存在多个server时,iiop端口将会不同3.4 Ofbiz配置使用JNDI1.修改entityengine.xml:<transaction-factory class="com.sailing.core.entity.transaction.JNDIFactory"><user-transaction-jndi jndi-server-name="ycoaWebsphere" jndi-name="jta/usertransaction"/><transaction-manager-jndi jndi-server-name="ycoaWebsphere"jndi-name="jta/usertransaction"/></transaction-factory><jndi-jdbc jndi-server-name="ycoaWebsphere" jndi-name="jdbc/ycoa" isolation-level="Serializable"/>2.配置jndiservers.xml,注意:iiop的端口3.5 Hibernate使用JNDI3.6 安装补丁1.备份websphere配置文件2.下载补丁更新程序Update Installer for WebSphere Application Server V6.1 and V6.0.2.213.安装补丁更新程序,注意系统中java要存在4.下载补丁,后缀名称为pak5.将补丁拷贝到补丁更新程序的maintenance中6.安装补丁7.恢复websphere配置文件3.7 应用服务器单机版配置如果应用服务器采用单机环境,则此部分安装可以跳过,只需在httpd.conf中添加:ProxyPass /ec/ http://应用服务器ip/ec/ProxyPassReverse /ec/ http://应用服务器ip/ec/3.8 应用服务器集群版配置运行安装介质中的launchpad.sh,出现下图界面点击左面的Web Server plug-ins installation,然后点右边开始安装。