设为首页 收藏本站
查看: 840|回复: 0

[经验分享] Apache配置调优

[复制链接]

尚未签到

发表于 2018-11-18 11:59:20 | 显示全部楼层 |阅读模式
1.  简介
  在第一篇中整合了apache + tomcat ,利用了apache解析静态文件为tomcat解压。但是在测试机上发现两者性能不足,不能充分利用服务器的性能,该篇中将对apache进行性能上调优 。
  这里的调优针对的是window 平台下 ,linux下apache的调优后续再说.
2. apache调优
         2.1 移除不用的模块
  apache的功能相当强大,但不是在每个项目中都能用到其所有的功能,其中加载了一些我们通常用不到的模块,这其实是没有必要的 。
  去除不用的模块方法很简单,通过#来注释httpd.conf文件下加载的模块,切记在注释加载模块一个一定一定要Test Configuration 一下,否则到时候出差错了都不知道从哪里下手了.通常去掉
  的模块有:  mod_include.so 、mod_autoindex.so等 ,可自行尝试。当然在性能运行的情况下,不执行该操作.
         2.2  设置线程参数
  在httpd.conf配置中找到 #LoadModule vhost_alias_module modules/mod_vhost_alias.so 在后面加入:
  
    ThreadsPerChild      300
  
    MaxRequestsPerChild    3000
  ★ ThreadsPerChild   一个进程最多拥有的线程数  range[100-500]
  ★ MaxRequestsPerChild 一个线程最多可接受的连接数,默认为0 可能会导致内存泄漏,Apache存在轮询机制,会自动调节
         2.3  启动Apache输出压缩
  加载mod_deflate.so模块,去掉#
LoadModule deflate_module modules/mod_deflate.so  然后在... 后面追加如下配置:
  
DeflateCompressionLevel 6
  
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
  
AddOutputFilter DEFLATE js css
  

           2.4   安全之Deny   
  通过Deny来禁止若干文件的访问(提高安全性) ,其用法如下:

         2.5    安全之防止dos***
  存在mod_dosevasive22.dll 可防止网络上页面进行dos***(例如:机器人不断刷新指定网页,不断访问)。 下载该dll文件后放置在modules ,修改httpd.conf文件
  在文件尾追加如下文件:

LoadModule dosevasive22_module modules/mod_dosevasive22.dll  
DOSHashTableSize 3000DOSPageCount 3DOSSiteCount 50DOSPageInterval 1DOSSiteInterval 1DOSBlockingPeriod 10

  其中:
  ★ DOSHashTableSize 3000 黑名单总数
  ★ DOSPageCount  页面被***次数为该值时会判断为dos***
  ★ DOSSiteCount  站点被***次数为该值时会判断为dos***
  ★ DOSPageInterval  读取页面间隔
  ★ DOSSiteInterval  读取站点间隔
  ★ DOSBlockingPeriod  访问IP被封时间间隔
  时间单位为秒
  配置完成以后关闭apache 然后启动
  启动第一篇中配置的tomcat,访问http://localhost/WebDemo/ 得到

  按住F5不停刷新页面,得到

  10秒后可继续访问。
       2.6 修改默认配置参数
  在httpd.conf中搜索httpd-default.conf ,放开对其配置
Include conf/extra/httpd-default.conf  在该文件中存在了对apache的默认配置参数

#  
# Timeout: The number of seconds before receives and sends time out.
  
#
  
Timeout 300#
  
# KeepAlive: Whether or not to allow persistent connections (more than
  
# one request per connection). Set to "Off" to deactivate.
  
#
  
KeepAlive On

  先说KeepAlive: 表示用户请求完成后是否需要维持一个TCP连接  ;
  on  :表示请求完成时保持一个与服务器的TCP连接,如果还有请求,则在该连接中完成,无需重复建立连接,维持的时候为上面设置的Timeout时间(毫秒)
  off  : 表示请求完成以后立即关闭连接
  两者差异 :
  on :需要消耗更多的内存,但是提高访问速度,在页面中js,css,img图片较多的时候建议开启
  off :对内存消耗少,在页面每次由app server动态生成时,建议设置为off

#  
# 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 5

   MaxKeepAliveRequests 不要设置为0 (0为不限制),容易导致内存异常 .服务器性能较高可适当调整,建议保持默认  

  

  
注释AccessFileName
#AccessFileName .htaccess ServerSignature 设置为off 可防止服务器广播敏感信息 默认为on  

  

  
HostnameLookups 设置为on 可减少DNS查询次数 .
    2.7 监听端口
  默认情况下 apache 监听为80 端口,在实际中最好是指定监听具体的应用对应的 ip地址:80  即:
Listen  xxx.xxx.xxx(具体的ip) :80  因为服务器可能拥有多个ip地址,这样会倒置安全性降低 。这种情况应该很少见
    2.8 关联计算机Office软件
  在应用中经常要打开或者下载附件,例如word ,excel 等 可通过一下设置关键到本地的Office软件来打开
  在 AddType application/x-gzip .gz .tgz  后追加
AddType application/vnd.openxmlformats  docx pptx xlsx doc xls ppt txt     2.9  清除注释
  这是最简单的操作,没有技术含量,将httpd.conf文件中所有的注释信息全部删掉 ,保持一个“纯洁”的配置.  嘿嘿...
  此篇到此结束!



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-636561-1-1.html 上篇帖子: 如何将Apache服务器名称更改为服务器头中的任何内容 下篇帖子: Apache优化配置——配置参数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表