如果需要一台服务器来做转发请求的话,用 apache的HttpServer再好不过了。
假如一个客户请求服务器A,A并不直接处理客户端的请求,而是把请求转发到
服务器B。
来看一个具体怎么操作吧。
首先先下载一个apache-httpserver,这里用的是apache_2.2.3-win32-x86-no_ssl.msi,你可以在此
http://apache.mirror.phpchina.com/httpd/ 进行下载。或此看此文最后的附件也可。
安装就不用说了吧,安装完毕后。有时候启动服务会失败,我的第一次就失败了。端口被占用。
这时我们:
首先用netstat -ano 看是得到占用80端口的进程的PID,然后打开任务管理器,选择->查看->选择列,勾上PID(进程标识符),结束这个进程,再启动Apache就成功了.
可以在浏览器输入:http://localhost 出现 'it works' 说明就ok了.
服务启动成功后去下载:mod_jk-apache-2.2.3.so,本文附件中会提供。
1.进入apache的安装目录。找到modules把下载好的mod_jk-apache-2.2.3.so复制进去。
2.在conf目录建立一个workers.properties文件,内容如下:
# Define1realworker using ajp13
worker.list=admin
#Setpropertiesforadmin (ajp13)
worker.admin.type=ajp13
worker.admin.host=127.0.0.1worker.admin.port=8009worker.admin.lbfactor=50#worker.admin.cachesize=10# worker.admin.cache_timeout=600worker.admin.socket_keepalive=1# worker.admin.recycle_timeout=300
其中host就是你要转发到的服务器IP,port是端口号。这里是用本机测试,所以只改端口号就行了。
3.打开conf目录下的httpd.conf文件,找到#LoadModule ssl_module modules/mod_ssl.so这一行。在
这一行下面加上:
# 加载 mod_jk 模块
LoadModule jk_module modules/mod_jk-apache-2.2.3.so
# 指定 mod_jk 模块所需的配置文件 workers.properties 的位置
JkWorkersFile conf/workers.properties
# 指定 mod_jk 模块的日志文件位置
JkLogFile logs/mod_jk.log
# 指定 mod_jk 模块的日志级别
JkLogLevel info
# 指定 mod_jk 模块的日志格式
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]
# 发送所有请求上下文的请求给 admin
JkMount/*admin
最后一个的admin就是第二步中的worker.list
好了apache的配置都搞定了,重启一下ok.
我们再来看一下jboss的配置:
找到:
jboss-4.2.3.GA\server\default\deploy\jboss-web.deployer\server.xml
看看最上面的一段配置就行了:
maxThreads="250"maxHttpHeaderSize="8192" emptySessionPath="true"protocol="HTTP/1.1" enableLookups="false"redirectPort="8443"acceptCount="100" connectionTimeout="20000"disableUploadTimeout="true"/>
emptySessionPath="true"enableLookups="false"redirectPort="8443"/>
tomcat:
tomcat/conf/server.xml:
其中关于AJP的配置是一样的,这里可以更改你需要的端口,当然上面的apache也需要同时更改。
最后打浏览器测试一下吧:
http://localhost
显示的其实就是http://127.0.0.1:8009 ,如果你JBoss/Tomat下部署有测试工程。看一下吧。已经出现了。
好的,操作成功了。说明已经转发成功。