`
雪馨25
  • 浏览: 129520 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

【负载均衡apache+tomcat+windows系统(二)】配置

阅读更多

上一小节介绍了,具体的软件安装:【负载均衡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目录下图标

2
4
分享到:
评论

相关推荐

    windows平台apache+tomcat+说明文档负载均衡整个环境

    本人自己配置的windows平台apache+tomcat负载均衡实现,这个资源中包括apache,tomcat,测试项目+说明文档。只要正确安装apache,即可直接正常运行。本人参考网络,所以给贡献网络。

    Apache+Tomcat+JK 实现集群负载均衡文档

    Apache+Tomcat+JK 实现集群负载均衡是一种常见的Web服务器和应用服务器的部署方式,它能够提高系统的可用性和响应速度,实现服务的高并发处理。本文将详细介绍如何配置这一环境。 首先,我们需要准备以下软件: 1. ...

    apache+tomcat集群配置

    本文将详细介绍如何配置 Apache + Tomcat 集群,包括安装 Apache 和 Tomcat 服务器、配置 mod_jk 模块、配置 Apache 和 Tomcat 服务器、配置负载均衡控制器等。 一、安装 Apache 服务器 首先,需要安装 Apache ...

    Apache+Tomcat+Linux集群和负载均衡

    **Apache+Tomcat+Linux集群和负载均衡**主要指通过Apache作为前端反向代理服务器,Tomcat作为后端应用服务器,同时利用Linux系统强大的稳定性和安全性来构建一个能够有效分发请求、提高响应速度和服务质量的Web应用...

    Apache Tomcat 负载均衡

    ### 二、配置Apache Tomcat负载均衡 #### 1. 配置`server.xml` 在`server.xml`中,关键的是`&lt;Cluster&gt;`元素的配置。这里展示了如何设置一个简单的TCP集群: ```xml &lt;Cluster className="org.apache.catalina.ha....

    nginx负载均衡 nginx+tomcat tomcat实现负责均衡

    ### Nginx与Tomcat实现负载均衡的知识点详解 #### Nginx简介及特性 Nginx是一款由Igor Sysoev开发的高性能HTTP服务器和反向代理服务器,以其出色的稳定性和低系统资源消耗而著称。最初是为俄罗斯访问量排名第二的...

    Apache+Tomcat整合

    在 Apache 中,通过 `ProxyPass` 和 `ProxyPassReverse` 指令将所有请求转发到 `balancer://tomcatcluster`,这样 Apache 就会根据负载均衡策略将请求分发给后端的 Tomcat 实例。`stickysession` 参数用于保持用户...

    windows下apache+tomcat反向代理模式配置负载均衡(091124整理).rar

    windows下apache+tomcat反向代理模式配置负载均衡

    apache+tomcat集群配置64位windows系统

    总结,配置Apache和Tomcat集群涉及多个环节,包括Apache的负载均衡配置、Tomcat的集群设置、session共享以及故障转移和会话持久化策略。每个环节都需要细致操作,以确保在64位Windows系统上实现稳定、高效的Web服务...

    apache + tomcat + mod_jk集群

    在这个配置中,Apache作为前端服务器,通过mod_jk模块与后端的Tomcat应用服务器进行通信,实现请求的分发和负载均衡。 Apache HTTP Server是世界上最流行的开源Web服务器软件,它可以处理静态内容并转发动态内容到...

    Apache + Tomcat + jk配置负载均衡以及虚拟主机 实现多域名、多用户同时使用

    本文将详细介绍如何在Windows平台上使用Apache、Tomcat和JK进行虚拟主机配置和负载均衡设置,Linux平台的配置过程与此基本一致。 #### 二、Apache配置多个虚拟主机 Apache作为一款高性能的Web服务器软件,在配置...

    Apache+Tomcat集群配置

    通过以上步骤,我们可以成功实现Apache+Tomcat集群配置及负载均衡,提高系统的可用性和扩展性。此外,根据实际应用场景的不同,还可以进一步优化配置,如增加更多的Tomcat实例来进一步分散负载,或者使用更高级的...

    Apache和Tomcat实现集群和负载均衡(WindowsNT)

    ### Apache和Tomcat实现集群和负载均衡(Windows NT) #### 软件环境 为了实现Apache与Tomcat的集群及负载均衡,在Windows NT环境下需要准备以下软件环境: 1. **Apache**: 版本2.0.55。可以从官方网站...

    Windows环境Apache,Tomcat集群,动静分离,负载均衡

    "Windows环境Apache,Tomcat集群,动静分离,负载均衡"这一主题涵盖了四个关键概念,它们对于构建稳定、高可用的Web系统至关重要。 首先,让我们详细探讨**Windows环境下的Apache**。Apache HTTP Server是一款开源、跨...

    Windows下Apache2.2+Tomcat6配置集群、负载均衡、session共享

    在Windows环境下,Apache2.2和Tomcat6的组合是一个常见的Web服务器架构,用于搭建集群、实现负载均衡和处理session共享。Apache作为前端反向代理服务器,负责分发请求到后端的多个Tomcat实例,以提高应用的可用性和...

    Window下Apache负载均衡+Tomcat集群

    在本文中,我们将探讨如何在Windows环境下通过Apache HTTP Server实现负载均衡,并与多个Tomcat应用实例结合形成一个集群。这个配置适用于需要高可用性和可扩展性的Web应用程序部署,特别是当单个Tomcat实例无法满足...

Global site tag (gtag.js) - Google Analytics