上一小节介绍了,具体的软件安装:【负载均衡apache+tomcat+windows系统(一)】软件安装
配置
一、apache配置
1. 复制mod_jk-1.2.31-httpd-2.2.3.so 到Apache安装路径下的 \modules
2. 修改Apache安装路径下的 \conf\httpd.conf
1)去掉如下内容注释符“#”
- #LoadModule proxy_module modules/mod_proxy.so
- #LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
- #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
- #LoadModule proxy_connect_module modules/mod_proxy_connect.so
- #LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
- #LoadModule proxy_http_module modules/mod_proxy_http.so
2)找到
<IfModule dir_module>
DirectoryIndex index.html index.jsp
</IfModule>
增加 index.jsp
3)找到
Include conf/extra/httpd-mpm.conf
Include conf/extra/httpd-vhosts.conf
去掉#
4)最下面添加
ProxyPass / balancer://cluster/ lbmethod=byrequests stickysession=JSESSIONID nofailover=off timeout=30 maxattempts=3
ProxypassReverse / balancer://cluster/
<Proxy balancer://cluster>
BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1
BalancerMember ajp://127.0.0.1:9009 loadfactor=1 route=jvm2
BalancerMember ajp://127.0.0.1:10009 loadfactor=1 route=jvm3
</Proxy>
5)修改如下各值
MinSpareServers 5 最小空闲
MaxSpareServers 10 最大的空闲进程
StartServers 5 HTTP服务启动时创建的http进程数
MaxClients 150 最大连接数
MaxRequestsPerChild 0 设置10000
3.找到Apache安装路径下的\conf\extra\httpd-vhosts.conf 最下面添加
<VirtualHost *:80>
ServerAdmin ligoou@126.com
ServerName 名称如IP
ServerAlias localhost 别名如IP
ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=on
ProxyPassReverse / balancer://cluster/
ErrorLog "logs/phone-err.log" 错误日志名称
CustomLog "logs/phone-access.log" common 成功日志名称
</VirtualHost>
4.找到Apache安装路径下的目录 conf ,增加jk文件夹并在其下增加如下文件
1.增加mod_jk.conf,内容如下:
#加载mod_jk Module,与本身使用的一直 LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so #指定 workers.properties文件路径 JkWorkersFile conf/jk/workers.properties #指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器 JkMountFile conf/jk/uriworkermap.properties JkLogFile logs/mod_jk.log JkShmFile logs/mod_jk.shm JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" JkRequestLogFormat "%w %V %T" JkMount /* controller
2.增加uriworkermap.properties,内容如下
/*=controller #!/*.gif=controller #!/*.jpg=controller #!/*.png=controller #!/*.css=controller #!/*.js=controller #!/*.htm=controller #!/*.html=controller /jkstatus=status
3.增加workers.properties,内容如下:
worker.list = controller,status,jvm1,jvm2,jvm3 worker.template.type=ajp13 worker.template.ping_mode=A worker.template.ping_timeout=20000 worker.template.connection_pool_size=2048 worker.template.socket_keepalive=true worker.template.socket_connect_timeout=20000 worker.jvm1.reference=worker.template worker.jvm1.port=8009 worker.jvm1.host=127.0.0.1 worker.jvm2.reference=worker.template worker.jvm2.port=9009 worker.jvm2.host=127.0.0.1 worker.jvm3.reference=worker.template worker.jvm3.port=10009 worker.jvm3.host=127.0.0.1 worker.controller.type=lb worker.controller.balanced_workers=jvm1,jvm2,jvm3 worker.controller.sticky_session=false worker.status.type=status worker.status.read_only=true
注意:配置reference、port/host个数与实际tomcat个数一致
端口号与tomcat中server.xml的<Connector port="端口号" protocol="AJP/1.3" redirectPort="8443" /> 一致,且不可重复
jvm号必须与tomcat中中server.xml的<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm号"> 一致,且不可重复
二、apache 安全配置
更改 httpd.conf 文件
1.找到ErrorLog更改错误日志路径,改为如: ErrorLog "|bin/rotatelogs.exe C:/logs/phone_error-%y%m%d.log 86400 480"
2.找到CustomLog 更改正确日志路径,改为如: CustomLog "|bin/rotatelogs.exe C:/logs/phone_access-%y%m%d.log 86400 480" common
3.增强Apache记录日志能力
# LogLevel: Control the number of messages logged to the error.log. # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. # LogLevel warn
4.禁止目录遍历,将Options Indexes FollowSymLinks更改为Options None,如下
<Directory "D:/wamp/www"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.0/mod/core.html#options # for more information. # Options None # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit
5.禁止显示Apache版本设置,将ServerSignature On 改为 ServerSignature Off ServerTokens Prod 如下
# Optionally add a line containing the server version and virtual host # name to server-generated pages (internal error documents, FTP directory # listings, mod_status and mod_info output etc., but not CGI generated # documents or custom error documents). # Set to "EMail" to also include a mailto: link to the ServerAdmin. # Set to one of: On | Off | EMail # ServerSignature Off ServerTokens Prod
6.禁止服务器报错信息
ErrorDocument500 "The server made a boo boo." 前# 去掉
7.对请求量进行限制(无则添加)
# Maximum size of the request body. LimitRequestBody 64000 # Maximum number of request headers in a request. LimitRequestFields 32 # Maximum size of request header lines. LimitRequestFieldSize 8000 # Maximum size of the request line. LimitRequestLine 4000
8.对访问超时以及连接数进行限制(无则添加)
# # Timeout: The number of seconds before receives and sends time out. # Timeout 10 # # KeepAlive: Whether or not to allow persistent connections (more than # one request per connection). Set to "Off" to deactivate. # KeepAlive On # # MaxKeepAliveRequests: The maximum number of requests to allow # during a persistent connection. Set to 0 to allow an unlimited amount. # We recommend you leave this number high, for maximum performance. # MaxKeepAliveRequests 100 # # KeepAliveTimeout: Number of seconds to wait for the next request from the # same client on the same connection. # KeepAliveTimeout 15 AcceptFilter http data AcceptFilter https data
9.禁用Apache选项-Trace方法
添加 TraceEnable Off
注:适用于2.0以上版本
三、tomcat配置
3.1 配置java环境
1.catalina.bat 编辑增加
set"JAVA_HOME=c:\路径\java\jdk1.6.0_10"
set "JAVA_JRE=c:\路径\java\jre6"
2.setclasspsth.bat
set"JAVA_HOME=c:\路径\java\jdk1.6.0_10"
3.2 设置端口
配置sever.xml
1.更改<Server port="未启用任意端口如9005" shutdown="命令如xuexinshutdown">
2. 更改<Connector port="单独启动端口9080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
3.更改 <Connector port="与apache一致端口如9009" protocol="AJP/1.3" redirectPort="8443" />
4.更改<Engine name="Catalina" defaultHost="localhost" jvmRoute="与apache一致如jvm2">
5.更改<Valve className="org.apache.catalina.valves.AccessLogValve" directory="log日志路径如C:/logs" prefix="日志文件名称如tomcat2_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
配置web.xml
在文件最后</web-app>前添加如下内容(配置错误页面),并在项目根路径添加相应页面(略)
<error-page>
<error-code>404</error-code>
<location>/404.html</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/500.html</location>
</error-page>
3.3 安全设置
参考学习:Tomcat服务器之安全设置 部分摘录
(1).服务降权
默认安装时Tomcat是以系统服务权限运行的,因此缺省情况下几乎所有的Web服务器的管理员都具有Administrator权限,存在极大的安全隐患,所以我们的安全设置首先从Tomcat服务降权开始。
首先创建一个普通用户,为其设置密码,将其密码策略设置为“密码永不过期”,比如我们创建的用户为Tom。
1、新建一个tomcat管理用户:
计算机管理---系统工具----本地用户和组----用户----新建用户----设置用户不能更改密码,密码永不过期
2、给tomcat 用户启动tomcat服务:
然后修改Tomcat安装文件夹的访问权限,为Tomcat_lw赋予Tomcat文件夹的读、写、执行的访问权限,赋予Tomcat_lw对WebApps文件夹的只读访问权限,如果某些Web应用程序需要写访问权限,单独为其授予对那个文件夹的写访问权限。
“开始→运行”,输入services.msc打开服务管理器,找到Apache Tomcat服务,双击打开该服务,在其实属性窗口中点击“登录”选项卡,在登录身份下选中“以此帐户”,然后在文本框中输入Tomcat_lw和密码,最后“确定”并重启服务器。这样Tomcat就以Tomcat_lw这个普通用户的权限运行。
有的时候,我们需要在命令行下运行Tomcat,这时候可以在命令下输入命令runas /user:tomcat_lw cmd.exe回车后并输入密码,这样就开启一个Tomcat_lw权限的命令行。最后定位到Tomcat的bin文件夹下,输入命令tomcat6.exe即以Tomcat_lw在命令行下启动Tomcat。
(2).更改端口
Tomcat的默认端口是8080,攻击者可以据此运行扫描工具进行端口扫描,从而获取部署了Tomcat的Web服务器然后实施攻击。因此,为了安全期间我们可以修改此默认端口。在Tomcat的安装路径的conf目录下找到server.xml文件,用记事本打开然后搜索8080找到对应的字段,然后将8080自行修改为另外的数字。另外,需要说明的是connectionTimeout="20000"是连接超时,maxThreads="150"是最大线程类似这样的参数也可以根据需要进行修改。
(3).禁止列表
要确认Tomcat的设置中禁止列目录。在conf目录下文件web.xml。打开该文件,搜索init-param在其附近找到类似如下字段:
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
确认是false而不是true。
(4).用户管理
修改默认的用户名并为其设置健壮的密码。其配置文件为tomcat-users.xml。其中role标签表示其权限,manager说明是管理员权限;user标签表示后台管理用户。
(5).错误页面
修改其配置文件web.xml,自定义设置错误页面的显示,在最后一行的之前添加如下的语句:
<error-page>
<error-code>401</error-code>
<location>/401.htm</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/404.htm</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/500.htm</location>
</error-page>
需要到webapps\manager目录中创建相应的401.htm、404.htm、500.htm这样的文件。
(6). 地址栏图标更改
把自己项目图标弄成32*32的ico图标(图片大小自己调整),命名为:favicon.ico,替换tomcat ROOT目录下图标
相关推荐
本人自己配置的windows平台apache+tomcat负载均衡实现,这个资源中包括apache,tomcat,测试项目+说明文档。只要正确安装apache,即可直接正常运行。本人参考网络,所以给贡献网络。
Apache Tomcat 负载均衡配置说明
windows下apache+tomcat反向代理模式配置负载均衡
Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru ... Nginx 支持简单的负载均衡和容错; 支持作为基本 HTTP 服务器的功能,例如日志、压缩、Byte ranges、Chunked responses、SSL、虚拟主机等等,应有尽有
windows平台下,Apache + tomcat + jk,配置负载均衡以及虚拟主机,达到可以多用户、多项目在同一台服务器中,同时开发、部署的目的。linux平台配置同意与此一致。
1、 Apache 做为 HttpServer ,后面连接多个 tomcat 应用实例,并进行负载均衡。 2、 为系统设定 Session 超时时间,包括 Apache 和 tomcat 3、 为系统屏蔽文件列表,包括 Apache 和 tomcat 注:本例程以一台机器...
下载完成后,将压缩包解压到位,并将多余的 ...2、安装配置 Apache 环境。 3、安装配置 Tomcat 集群环境。 具体的详细操作步骤及参数详解请参考: https://blog.csdn.net/hello_world_qwp/article/details/79698334
APACHE 2.2.9+TOMCAT6.0.18配置负载均衡 目标: 使用 apache 和 tomcat 配置一个可以应用的 web 网站,要达到以下要求: 1、 Apache 做为 HttpServer ,后面连接多个 tomcat 应用实例,并进行负载均衡。 2、 为系统...
NULL 博文链接:https://yulinyyb001.iteye.com/blog/1308609
Windows Server 2008 R2 Enterprise(2.40GH,8GB,64Bit,192.168.10.212) 2台Ubuntu 10.04.4(192.168.10.98,192.168.10.137) JDK1.7.80 Tomcat7.0.68 Apache2.4.4 1.安装Apache2.4.4 安装过程中没什么注意事项,一直...
目前可以和Tomcat做负载均衡的主流服务器是Apache,但是Nginx由于功能多、配置简单等优点逐渐成为很多负载均衡服务器的首选。Nginx的并发数可达到50000,所以理论上可以和Tomcat以1:100的比例来配置,这样便可以很好...
傻瓜式的描述怎么实现在一台windows机器上怎么实现Apache2.2+Tomcat6.0的负载均衡和session复制,不用动脑子的,因为我自己在配置过程中由于某些设置有问题,死活不成功,被折磨了很久,所以把分析过程写下来,如果...
本文档是在windows环境下Apache2.4 + tomcat8 配置反向代理和负载均衡及session集群.
本人电脑上已经配置好的相关配置文件 ...tomcat-connectors-1.2.40-windows-x86_64-httpd-2.4.x.zip httpd.conf server.xml(tomcat) mod_jk.conf uriworkermap.properties vhosts.conf workers.properties
本文为您讲述了如何在 Windows 或 Linux 下进行 Tomcat 集群的安装配置。 Windows 下 Tomcat 集群的安装配置与 Linux 下稍有区别,道长为了在一篇教程中讲解两 ...器上),它同时也负责负载均衡。
Apache负载均衡含Linux和windows版本,其中Linux包含一些Linux系统中安装必须的依赖包: tomcat-connectors-1.2.42-src.tar pcre-8.40.tar.gz httpd-2.4.25.tar.gz apr-util-1.5.4.tar.gz apr-1.5.2.tar.gz等。 并配...
操作系统 :WindowsXP Java运行环境 :JDK1.5 Tomcat服务器 :Tomcat5.5 Apache服务器 :Apache2.2 开始配置: 1、我们先以普通的方式配置tomcat1、tomcat2 {配置Java环境变量} {启动Tomcat1} 启动成功!表示...
操作系统 :WindowsXP Java运行环境 :JDK1.5 Tomcat服务器 :Tomcat5.5 Apache服务器 :Apache2.2 开始配置: 1、我们先以普通的方式配置tomcat1、tomcat2 {配置Java环境变量} {启动Tomcat1} 启动成功!表示...
<br>系统环境 <br>操作系统 :WindowsXP <br>Java运行环境 :JDK1.5 Tomcat服务器 :Tomcat5.5 Apache服务器 :Apache2.2 <br> <br> <br> 开始配置: <br>1、我们先以普通的方式配置...