写点什么

windows 环境下 JSP 环境搭建:Apache2

用户头像
Android架构
关注
发布于: 21 小时前

指定 tomcat 监听配置文件地址(加载集群中的 workers)

JkWorkersFile conf/workers.properties


JkMountFile conf/uriworkermap.properties

指定日志存放位置

JkLogFile logs/mod_jk.log


JkLogLevel warn


#指定哪些请求交给 tomcat 处理,"DLOG4J"为在 workers.propertise 里指定的负载分配控制器名 所有的请求都交给 control


JkMount /. DLOG4J


3、在 Apache24\conf\目录下新建两个文件分别是 workers.properties、uriworkermap.properties。这两个文件的内容大概如下:

workers.properties


1.首先我们配置了两个类型为 ajp13 的 worker 分别是 s1 和 s2,它们指向同一台服务器上运行在两个不同端口 8109 和 8209 的 Tomcat 上。

2.接下来我们配置了一个类型为 lb(也就是负载均衡的意思)的 worker,它的名字是 DLOG4J,这是一个逻辑的 worker,它用来管理前面配置的两个物理连接 s1 和 s2。

3.最后还配置了一个类型为 status 的 worker,这是用来监控 JK 本身的模块。有了这三个 worker 还不够,我们还需要告诉 JK,哪些 worker 是可用的,所以就有 worker.list = DLOG4J, status 这行配置。


list the workers by name

worker.list=DLOG4J, status

localhost server 1

------------------------

worker.tomcat1.port=8109


worker.tomcat1.host=localhost


worker.tomcat1.type=ajp13

localhost server 2

------------------------

worker.tomcat2.port=8209


worker.tomcat2.host=localhost


worker.tomcat2.type=ajp13


worker.tomcat2.stopped=1


#负载均衡分发控制器(server 名为 DLOG4J,用于负载均衡)


worker.DLOG4J.type=lb


#重试次数


worker.retries=3


worker.DLOG4J.balanced_workers=tomcat1, tomcat2


#粘性 Session(默认是打开的) 当该属性值=True(或 1)时,代表 Session 是粘性的, 即 session 粘着。若设置 true,则同一个浏览器的请求(cookie 相同)将会被分发到同一个 tomcat(节点)


#即同一 Session 在集群中的同一个节点上处理,Session 不跨越节点。在集群环境中,一般将该值设置为 False


worker.DLOG4J.sticky_session=1


worker.status.type=status

uriworkermap.properties?

指定哪些链接是由 Tomcat 处理的,哪些是由 Apache 直接处理的

所有的请求都由 DLOG4J 这个 worker 进行处理,但是有几个例外,/jkstatus 请求由 status 这个 worker 处理。

另外这个配置中每一行数据前面的感叹号表示接下来的 URI 不要由 JK 进行处理,也就是 Apache 直接处理所有的图片、css 文件、js 文件以及静态 html 文本文件。

/*=DLOG4J


/jkstatus=status


!/*.gif=DLOG4J


!/*.jpg=DLOG4J


!/*.png=DLOG4J


!/*.css=DLOG4J


!/*.js=DLOG4J


!/*.htm=DLOG4J


!/*.html=DLOG4J


4、Tomcat 8.0/conf/server.xml 添加站点 host,代码如下:


<Host name="www.456.com" appBase="webapps" unpackWARs="true" autoDeploy="true">


<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"


prefix="localhost_access_log." suffix=".txt"


pattern="%h %l %u %t "%r" %s %b" />


<Alias>456.com</Alias>


<Context docBase="D:\wwwroot" path=""></Context>


</Host>


5、Tomcat 配置文件 Service.xml 主要注意两个地方,一个是 Engine 节点需要增加节点标识 jvmRoute,另一个是把 Cluster 节点的注释去掉,具体如下:


<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">


<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>


6、Tomcat 8.0/conf 目录下,web.xml 最后增加 一句:


<distributable/


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码



7、以上配置 ok 后,直接运行 Apache 和 Tomcat 8.0 即可


8、apache 无法启动报错:The request operation has failed ,进入 Apache24\bin 目录下,使用 cmd 命令输入:httpd -t,会显示报错原因,如下:



【第二种连接方式:http_proxy】?


==========================


利用 Apache 自带的 mod_proxy 模块使用代理技术来连接 Tomcat。在配置之前请确保是否使用的是 2.2.x 版本以上的 Apache 服务器。因为 2.2.x 以上版本对这个模块进行了重写,大大的增强了其功能和稳定性。

(1)、Apache24\conf\httpd.conf 加载以下模块(把前面的 #号去掉)

LoadModuleproxy_module modules/mod_proxy.so


LoadModuleproxy_http_module modules/mod_proxy_http.so


LoadModule rewrite_module modules/mod_rewrite.so


LoadModule proxy_connect_module modules/mod_proxy_connect.so


LoadModule proxy_balancer_module modules/mod_proxy_balancer.so


LoadModule slotmem_shm_module modules/mod_slotmem_shm.so

(2)、Apache24\conf\extra\httpd-vhosts.conf 文件里,配置 ProxyPass?

<VirtualHost *:88>

邮箱地址

ServerAdmin admin@qq.com

网站所在目录

DocumentRoot "D:\wwwroot"

网站域名

用户头像

Android架构

关注

还未添加个人签名 2021.10.31 加入

还未添加个人简介

评论

发布
暂无评论
windows环境下JSP环境搭建:Apache2