Windows Server 2008环境下Apache2.4+Tomcat8配置
安装步骤
1. 安装配置JDK
2. 安装配置Apache
3. 安装配置Tomcat
4. 启动服务并测试
一、Apache安装与配置
1、Apache解压
在D盘根目录下建立一个文件夹Apache Group,将httpd-2.4.38-win64-VC15.zip解压到此文件夹下。
2、Apache安装与卸载
以管理员身份运行cmd,将目录移动到D:\Apache Group\Apache24\bin下,安装运行:
httpd -k install -n Apache2.4
安装完成,右键我的电脑,管理,服务,可以看到多了一个名为Apache2.4的服务。
卸载运行
httpd -k uninstall -n Apache2.4
卸载完成后,服务中Apache2.4就会消失。
3、配置httpd.conf
打开Apache Group\Apache24\conf下的httpd.conf主配置文件进行配置,修改前将其备份一下,防止配置错误解决不掉的时候恢复。
Define SRVROOT "/Apache24" (37行)
ServerRoot "${SRVROOT}" (39行)
更改为安装目录
Define SRVROOT "D:\Apache Group\Apache24"
ServerRoot "${SRVROOT}"
默认是80端口的,如果80端口被占用,则无法安装成功
用一下命令可以查询80端口被哪个进程id占用,netstat -aon | findstr "80"
再用一下命令查询该进程id是代表哪个进程,tasklist | findstr "PID号"
或者直接改Apache的端口号
Listen 8888 (60行)
httpd.conf最后一行加入
Include conf/mod_jk.conf
4、配置mod_jk.conf
将tomcat-connectors-1.2.40-windows-x86_64-httpd-2.4.x.zip解压,并找到其中mod_jf.so文件,将其放至Apache Group\Apache24\modules文件夹中
在Apache Group\Apache24\conf目录下建立mod_jk.conf文件,并打开,将其配置为以下代码。
#加载mod_jk Module
LoadModule jk_module modules/mod_jk.so
#指定 workers.properties文件路径
JkWorkersFile conf/workers.properties
#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器
JkMount /*.do controller
JkMount /*WEB-INF controller
JkMount /*j_spring_security_check controller
JkMount /*.action controller
JkMount /servlet/* controller
JkMount /*.jsp controller
JkMount /*.do controller
JkMount /*.action controller
JkMount /* controller
5、配置workers.properties
官方文档:http://tomcat.apache.org/connectors-doc/reference/workers.html
在Apache Group\Apache24\conf目录下建立workers.properties文件
worker.list = controller,tomcat8-1,tomcat8-2 #server 列表
#worker.list = tomcat8-1
#========tomcat8-1========
worker.tomcat8-1.port=9010 #ajp13 端口号,在tomcat下server.xml配置,默认8009
worker.tomcat8-1.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址
worker.tomcat8-1.type=ajp13
worker.tomcat8-1.lbfactor = 1 #server的加权比重,值越高,分得的请求越多
#========tomcat8-2========
worker.tomcat8-2.port=6010
worker.tomcat8-2.host=localhost
worker.tomcat8-2.type=ajp13
worker.tomcat8-2.lbfactor = 1
#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat8-1,tomcat8-2 #指定分担请求的tomcat
worker.controller.sticky_session=1 #回话是否有粘性,false表示无粘性,同一个回话的请求会到不同的tomcat中处理
worker.controller.sticky_session_force=false #当一个节点蹦了,如果设值为true,那么服务器返回500错误给客户端,如果设值为false,则转发给其他的tomcat,但是会丢失回话信息
负载均衡器也可配置为,下方配置为一个用户的所有请求由一个tomcat处理,上方配置为用户请求会进到不同的tomcat
Tomcat负载均衡原理:http://blog.csdn.net/fubin5115/article/details/78078166
#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2
worker.controller.sticky_session=1
如需增加Tomcat,在workers.properties中增加即可
6、Apache调优(未亲测)
放开httpd.conf里面的Include conf/extra/httpd-mpm.conf一句。
把conf\extra目录下的httpd-mpm.conf文件里的参数改为:
<IfModule mpm_winnt_module>
ThreadsPerChild 2000
MaxRequestsPerChild 2000
</IfModule>
二、Tomcat安装与配置
1、Tomcat安装
将apache-tomcat-8.5.34-windows-x64.zip解压到Apache Group目录下
在相同目录下复制一份,命名为tomcat8-1,tomcat8-2
2、Tomcat配置
分别配置conf/server.xml
(1)修改shutdown端口,tomcat1改为9015,tomcat2改为8015
<Server port="8005" shutdown="SHUTDOWN">
(2)修改请求端口,初始代码:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
tomcat1修改为:
<Connector port="9110" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
maxThreads="4000"
minSpareThreads="1000"
maxSpareThreads="2000"
redirectPort="8443"
acceptCount="2000"
disableUploadTimeout="true"
enableLookups="false"
URIEncoding="UTF-8" />
tomcat2将端口改为8110
(3)修改AJP端口号,同workers.properties中配置的port,tomcat1改为9019,tomcat2改为8019
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
(4)修改Engine,tomcat1在末尾加 jvmRoute=”tomcat1”,tomcat2在末尾加 jvmRoute=”tomcat2”,与workers.properties配置的server名称对应
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
(5)将以下注释掉的代码打开
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
参考的文章中改为以下配置(未亲测):
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
</Cluster>
至此Tomcat配置完毕
3、Tomcat优化(未亲测)
在service.xml文件里加入
maxThreads="800" minSpareThreads="25" maxSpareThreads="700" enableLookups="false" acceptCount="1200"
maxThreads=”150” 表示最多同时处理150个连接
minSpareThreads=”25” 表示即使没有人使用也开这么多空线程等待
maxSpareThreads=”75” 表示如果最多可以空75个线程,例如某时刻有80人访问,之后没有人访问了,则tomcat不会保留80个空线程,而是关闭5个空的。
acceptCount=”100” 当同时连接的人数达到maxThreads时,还可以接收排队的连接,超过这个连接的则直接返回拒绝连接。
运行项目配置
(1)需要在集群下运行的项目的web.xml文件结束标志/web-app前中加入
<distributable/>
(2)将要运行的项目分别放置于tomcat8-1和tomcat8-2的webapps下,或者在server.xml中配置
<Context path="/test" docBase="E:/www/testProject" debug="0" reloadable="true" />
Apache+Tomcat配置测试
测试Tomcat
首先空项目跑一下,看tomcat能否正常启动
然后加项目跑一下,看tomcat能否正常启动
测试Apache
Tomcat启动后重启一下Apache服务,看能否启动
注意:Apache有可能启动不起来,那么解决方式是查看Apache安装目录下的logs目录下的error.log文件,
根据log文件解决可能存在的问题。直到Apache可以正常启动,至此Apache就可以正常启动了。
测试负载均衡
写一个测试jsp放置于项目中,运行一下,看控制台输出
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%
System.out.println("===========================");
%>
</body>
</html>
经测试
(1)workers.properties配置为worker.controller.sticky_session=1,且tomcat的server中Cluster未打开时,同一浏览器多次访问均进同一tomcat,换浏览器后会进另一个tomcat。
(2)workers.properties配置为另一种方式时为负载均衡,请求均匀分布在两个tomcat。
如何把Apache和Tomcat加入Windows的服务:
Apache:https://blog.csdn.net/charliefromkansas/article/details/50315317
Tomcat:https://blog.csdn.net/warylee/article/details/82802174
Windows Server 2008环境下Apache2.4+Tomcat8配置的更多相关文章
- 【转】Windows Server 2008 R2下安装 .net framework3.5
原文地址:http://hi.baidu.com/tonny_dxf/item/6831bcdc3d7c06e7b2f7777c [你必须用角色管理工具安装.net framework3.5 ...
- 如何在Windows Server 2008 R2下搭建FTP服务
在Windows Server 2008 R2下搭建FTP服务,供客户端读取和上传文件 百度经验:jingyan.baidu.com 工具/原料 Windows Server 2008 R2 百度经验 ...
- Windows Server 2008 R2 下 Core界面
Windows Server 2008 R2 下 Core界面 关于 sc 以及 net 命令 Sc 命令较不全面,仅仅是给服务发送一个开启或者关闭就结束了 Net 命令比较安全,它监视了整个服务的启 ...
- Windows Server 2008 R2下将JBoss安装成windows系统服务
JBoss版本是jboss-4.2.3.GA-jdk6.zip,操作系统是Windows Server 2008 R2. 1.系统已安装好java环境,JAVA_HOME已配置好: 2.下载所需文件. ...
- Windows servers 2008 环境下, DHCP的搭建。
日常上网,客户端的主机都是使用DHCP动态分配的,家用的路由器就是内置了一个DHCP服务,所以每次分到的IP地址基本的都是192.168.x.x/24 网段的.不过家用的路由器最多只能连十台左右.那么 ...
- Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站
http://www.cnblogs.com/zhongweiv/archive/2013/01/07/https.html 配置环境 了解HTTPS 配置CA证书服务器 新建示例网站并发布在IIS ...
- IIS7.0 Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站
配置环境 Windows版本:Windows Server 2008 R2 Enterprise Service Pack 1 系统类型: 64 位操作系统 了解HTTPS 为什么需要 HTTPS ? ...
- Windows Server 2008 R2组策略设置计算机配置和用户配置
一.认识Windows Server 2008 R2域控组策略管理 1.域控服务器zhuyu.com的组策略管理默认会读取AD用户和计算机目录下创建的OU容器(组织单元), 在对应的OU容器创建对应的 ...
- Windows Server 2008 R2远程桌面服务安装配置和授权激活
1.安装 2.远程桌面授权激活 2.1 管理工具——远程桌面服务——(远程桌面授权管理)RD授权管理器: 2.2 由于RD授权服务器还未激活,所以授权服务器图标右下角显示红色×号: 点服务器展开——右 ...
随机推荐
- 解锁scott用户
具体操作步骤如下: C:> sqlplus 请输入用户名:sys 输入口令:sys as sysdba //注意:在口令这里输入的密码后面必须要跟上 as sysdba 才可以. SQL> ...
- 做一个vue的todolist列表
<template> <div id="app"> <input type="text" v-model="todo&q ...
- PAT甲级1143 Lowest Common Ancestor【BST】
题目:https://pintia.cn/problem-sets/994805342720868352/problems/994805343727501312 题意: 给定一个二叉搜索树,以及他的前 ...
- Gym 101981I - Magic Potion - [最大流][2018-2019 ACM-ICPC Asia Nanjing Regional Contest Problem I]
题目链接:http://codeforces.com/gym/101981/attachments There are n heroes and m monsters living in an isl ...
- git版本控制工具
git 基本操作 1.git init 在一个文件夹下执行该命令,对该文件夹下的内容进行管理.在该文件夹下会创建一个隐藏的目录.git 2.git status 查看文件夹下内容的状态,没有更改的则什 ...
- 日期控件——my97
一.官网 http://www.my97.net/index.asp 下载: //下文已更新与bootstrap样式的结合 二.demo演示 实际使用时请注意文件引入的实际位置: [补充] 数据库字段 ...
- EntityFreamWork 项目总结
前段时间一直在忙着处理一个B2C的商城项目,未来得整理这次项目的心得,今天偶有空闲便写下这篇文章以记录整个项目的设计及自我总结. 这个项目是我综合传智播客教学基础将传统三层架构与EntityFrame ...
- IO调度算法的选择
一) I/O调度程序的总结 1) 当向设备写入数据块或是从设备读出数据块时,请求都被安置在一个队列中等待完成. 2) 每个块设备都有它自己的队列. 3) I/O调度程序负责维护这些队列的顺序,以更有效 ...
- nginx安装lua模块实现高并发
nginx安装lua扩展模块 1.下载安装LuaJIT-2.0.4.tar.gz wget -c http://luajit.org/download/LuaJIT-2.0.4.tar.gz tar ...
- Viewer.js插件浏览图片
https://www.jianshu.com/p/e3350aa1b0d0 Viewer.js插件浏览图片 Viewer.js插件浏览图片 Viewer.js插件浏览图片