Below you will find pages that utilize the taxonomy term “apache”
September 5, 2012
增加Apache2和Nginx的header长度限制
"nginx默认的header长度上限是4k,如果超过了这个值 nginx会直接返回400错误\n[error] 16613#0: *105 upstream sent too big header while reading response header from upstream\n可以通过以下2个参数来调整header上限\nclient_header_buffer_size 16k; large_client_header_buffers 4 16k;\n看起来是,nginx默认会用client_header_buffer_size这个buffer来读取header值,如果header过大,它会使用large_client_header_buffers来读取\nclient_header_buffer_size\nsyntax: client_header_buffer_size size\ndefault: 1k\ncontext: http, server\nDirective sets the headerbuffer size for the request header from …"
July 31, 2011
Apache下实现隐藏服务器名称
"我这里用的是FreeBSD的操作系统的.用curl 命令查看文件头\n为了安全起见,我们需要将FreeBSD字样及其它信息隐藏起来.操作如下:\n在httpd.conf文件里添加以下两行\nServerTokens Prod ServerSignature Off\n重启apache即可.\n如图所示:"
July 22, 2011
隐藏 Apache & PHP 的版本号
"有朋友问起,如何隐藏 HTTP header 中发送包含在 Server 信息里面的 Apache 和 PHP 版本号(譬如我们可以到 Firefox 的附加工具里面找 Live HTTP Headers;还可以用curl -I IPaddress|http://域名 ) 下面是做法: Apache: 打开 httpd.conf,在文件最后加入以下代码:\n#Hidden I can with apache version number\nServerTokens ProductOnly\nServerSignature Off\nPHP: 隐藏 PHP 版本就是隐藏类似于 “X-Powered-By: PHP/5.1.2-1+b1” 这个,开启 php.ini,加入:\nexpose_php = Off 设置了expose_php=Off后,用phpinfo查看的时候,页面上原来正常显示的图片会消失隐藏的.\n相关:"
July 11, 2011
统计apache日志中每日访问IP中访问量最多的100个IP
"统计apache日志中每日访问IP中访问量最大的100个IP地址\ncat access.log |awk ‘{print $1}’|sort|uniq -c|sort -nr|head -100 \u0026gt; 37res.txt\n来源:"
June 7, 2011
apache的日志级别和设置
"1.emerg\n紧急 – 系统无法使用。\n“Child cannot open lock file. Exiting”\n2.alert\n必须立即采取措施。\n“getpwuid: couldn’t determine user name from uid”\n3.crit\n致命情况。\n“socket: Failed to get a socket, exiting child”\n4.error\n错误情况。\n“Premature end of script headers”\n5.warn\n警告情况。\n“child process 1234 did not exit, sending another SIGHUP”\n6.notice\n一般重要情况。\n“httpd: caught SIGBUS, attempting to dump core in …”\n7.info\n普通信息。\n“Server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers)…”"
June 7, 2011
解决Apache出现的CPU高占用率的问题
"所谓Apache出现CPU高占用率就是指Apache在一段时间内持续占用很高的CPU使用率,甚至达到CPU100%,这个时候造成网站无法访问。解决的方法就是仔细观察Apache的日志文件,查阅错误的信息。\n我个人试了一下启用了\nEnableSendfile Off\n暂时解决了,\n下面我们针对几种错误信息进行分析并给出解决的方法:\n1. Apache与WinSock v2相冲突 Apache官方提供的手册 中提到,在Windows系统下Apache2.x为了提高性能而使用了Microsoft WinSock v2 API,但是一些常见的防火墙软件会破坏他的正确性,从而使得Apache出现死循环操作造成CPU100%。\n其错误提示如下所示:\n[error] (730038)An operation was attempted on something that is not a socket.: winnt_accept: AcceptEx failed. Attempting to recover.\n[error] (OS 10038) : Child 3356: Encountered …"
March 31, 2011
在windows下玩apache-php不能不知的几个小设置
"1、PHPIniDir “D:\\PHP5″\n这样不用每次都把php.ini拷贝到C:\\Windows下\n2、set Path=D:\\PHP5;D:\\PHP5\\ext;%Path%\n这样不用每次把那些dll拷贝到C:\\Windows\\system32下"
March 28, 2011
Apache带宽流量控制模块安装 mod_bw 配置说明
"注:这个模块在win32平台下好像不是太稳定的,有的文件可以限制,而有的文件则不行.用的是windows2003操作系统,如果有同样的问题的请,请在这里留言,请注明一下系统类型.\n官方网站:http://modules.apache.org,在里面找到一个 Bandwidth Module 的 module,模块说明文档, 点击查看mod_bw-0.说明文档9.0作者的官方网站 http://ivn.cl/apache/(Win32: http://ivn.cl/files/dlls/mod_bw-0.91-2.2.14/mod_bw.dll 可以下载到。\nInstalling step: 1. 将 mod_bw.dll 放到安装 apache 资料夹下的 modules 2. 编辑 httpd.conf,将 LoadModule bw_module modules/mod_bw.dll 加入 3. 重开 apache 4. 查看 phpinfo() 里是否有mod_bw\nConfiguration Directives: 1 – BandWidthModule [On|Off] …"
March 28, 2011
使用apache的rewrite功能来防迅雷
"不知道为什么,本来不受重视的L’Yun,却一直多灾多难,前几天空间呗停掉了,一个很以为的原因,每天将近9G的流量,晕死了,最多的一天才只有6个IP,但竟然有这么大的流量。后来查看了下日志,竟然是两首MP3引起的,每一秒钟都有人在下载。刚开始以为是百度干的,但是后来看了下在百度的位置,还不至于达到那么大的流量,然后自然而然的就想到迅雷了,看看别人的文章,可以肯定下,迅雷是个流氓!\n解决方案: 1、对服务器的攻击屏蔽后,不用理会,不会造成太大影响。 2、被百度收录的是一部分MP3,因为不希望不访问网站就直接从后台下载网站的mp3,于是增加搜索引擎访问限制。在网站根目录下放置robots.txt,内容如下: User-agent: Baiduspider Disallow: /**** *表示不允许百度搜索引擎收录的路径。相对于百度,雅虎、MSN和Google的搜索引擎机器人没有那么流氓,所以不需要屏蔽。\n3、对付迅雷。 相对于有些流氓的百度搜索引擎来说,迅雷就是恶霸了。 对于小网站站长来说,迅雷的分布式下载几乎是一种灾难。尽管迅雷给广大普通用户带来快捷方便,但给小服务器的负载带来严重灾难。 …"
March 28, 2011
windows 服务器 Apache 防止ddos攻击模块
"为了防HTTP DoS或DDos攻击,我们可能会对服务器添加很多种防护产品,可能会购买专业的DDoS硬件防火墙,当然,目前并没有一种很成熟的技术能完全封锁住DDoS攻击。但如果对于小型网站服务器来说,Apache的evasive模块是比较简单的处理方法,原理也很简单,判断一段时间内,某个IP访问的次数是否过快,如果过快,就返回403错误。\n但是官方的evasive模块发布的是源代码和linux下的RPM压缩包,虽然可以在windows使用源代码编译出这个模块来,但是由于windows系统本身的原因,几乎不会在默认的情况下安装C语言的编译环境,如果需要安装这个编译环境要安装非常多而繁杂的软件,操作起来非常不便。但是在LINUX系统下编译好的文件却不能在WINDOWS下使用,这是两个系统核心的区别,肯定不能使用。\n我在别的网站找到了WINDOWS下用的编译好的DLL文件,方便使用WINDOWS系统,同时又是Apache 2.2服务器软件的站长们使用。\n安装方法: 1、下载附件中的压缩包,解压并拷贝mod_dosevasive22.dll到Apache安装目录下的modules目录(当然也可 …"
January 16, 2011
nginx和apache下对域名进行301重定向-优化篇
"一般网站为了将网站的权重从yoursite.com自动转向到www.yoursite.com,这里我们在nginx下来实现永久跳转.\n将不带WWW的主域名重定向到带WWW的二级域名,实现两个域名合并,方法如下:\nNginx配置方法:\n方法1:\nserver {\nserver_name www.yoursite.com yoursite.com;\nif ($host != ‘www.yoursite.com’ ) {\nrewrite ^/(.*)$ http://www.yoursite.com/$1 permanent;\n}\n…\n}\n方法2:\n类似apache,单独给yoursite.com做一个虚拟主机\nserver {\nserver_name yoursite.com;\nrewrite ^(.*) http://www.yoursite.com$1 permanent;\n}\nApache虚拟主机配置:\nDocumentRoot /data/www/www.yoursite.com\nServerName www.yoursite.com\nDirectoryIndex …"
January 11, 2011
apache突然出现Too many errors in select loop. Child process exiting的解决办法
"[Fri Mar 13 19:30:08 2009] [notice] Child 2012: Acquired the start mutex.\n[Fri Mar 13 19:30:08 2009] [notice] Child 2012: Starting 250 worker threads.\n[Fri Mar 13 19:30:08 2009] [notice] Child 2012: Listening on port 80.\n[Fri Mar 13 19:30:08 2009] [error] (OS 10038)An operation was attempted on something that is not a socket. : Too many errors in select loop. Child process exiting.\n[Fri Mar 13 19:30:08 2009] [notice] Child 2012: Exit event signaled."
December 30, 2010
怎么检查windows下apache加载的mpm模块是什么?
"现在有很多php运行环境都apache等都用在windows主机上了,但是性能和linux上的应该有些差。于是有很多优化windows下apache性能。优化apache加载mpm是必不可少的一环。\n怎么检查自己的windows服务器中apache加载的mpm模块是什么呢?\n其实很简单:\n“开始-运行-cmd” 打开命令提示符\n执行”httpd -l”就可以了。"
December 27, 2010
web服务器做301重定向优化设置(apache,nginx,iis)
"做网站优化的时候,网站301重定向是一个非常重要的操作方式。这样能够把多个域名的权重集中到一个域名,例如:www.haohtml.com和 haohtml.com,我们把haohtml.com重定向到www.haohtml.com,搜索引擎在搜索的时候,会把搜索结果或者Google评级的时候都集 中到www.haohtml.com。但是,在设置301的时候,会根据服务器的不同,有不同的设置。\n一般情况下,网站301重定向可以分为IIS、Apache、Nginx三种,接下来我说明一下在虚拟主机下如何实现301重定向。\nIIS:如果使用ASP的网站程序,可以使用asp脚本实现301重定向:写入header.asp或者其他头部文件。 这种方法最为简单,当然空间支持ISAPI 可以在网站根目录新建一个httpd.ini 将haohtml.com转移到www.haohtml.com上\n[ISAPI_Rewrite] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 RewriteCond Host: ^haohtml.com.com$ …"
November 6, 2010
谷歌发布apache加速模块可提速50%
"大多人浏览网页如果超过3秒打不开就会离开,Google为此推出了一款Apache加速模块:mod_pagespeed,该模块可以有效将网页加载速度提高50%。网页提速的问题是一个复杂多样的问题,有很多解决方法,往往关系到网站系统程序,服务器硬件,网络传输速度等方面,而Google这款加速模块简单的解决了许多复情况的问题:\n◆如果你的网站采用Apache构建服务器,不需要对网站CMS系统进行处理即可应用;\n◆加速模块可以自行对网络传输的HTML字节优化及对图象,CSS进入压缩优化传输;\n◆智能缓存是一大亮点,它可以自动智能缓存,加速下载。\n下面介绍一下所有特点功能:\n◆优化缓存\n◆缓存扩展\n◆压缩处理CSS\n◆优化JavaScript最大限度的减少重复请求\n◆自动缓存CSS\n◆JavaScript内嵌技术\n◆有效载荷尺寸最小化\n◆压缩空白\n◆合并头信息\n◆附加属性\n◆内建核心JavaScript\n◆优化图像下载\n◆跳地非法字符\n◆重写优化CSS\nGoogle官方文档说明: …"
September 30, 2010
apache squid 配置反向代理服务相关文章
"apache + squid 配置反向代理服务环境 :ubuntu 9.04(linux 2.6.28-15-generic) apache版本:Apache/2.2.11 squid版本:Squid3.0/STABLE8 本机IP :192.168.1.102并在/etc/hosts里添加www.abc.com的伪域名以便测试 安装方式 :apt-get安装(源码安装同) 配置文件: apache:(/etc/apach…\nLinux下Squid3.0反向代理的安装与配置1. Squid3.0的安装是很简单的: ./configure –prefix=/usr/local/squid make make install chown -R nobody.nobody /usr/local/squid/var/ /usr/local/squid/sbin/squid -z Squid3.0的配置也不复杂: 假设我们有两台Apache服务器需要反向代理:www.avnads.c…\nsquid3.0快速缓存实现一、编译安装 #tar zxvf …"
August 13, 2010
Apache禁止目录访问方法介绍
"在PHP网站开发中,基于WEB服务器和PHP网站程序代码的安全考虑,我们需要对相关的目录或者文件访问权限进行控制,以防止意外情况的发 生,那么我们如何来实现这种功能呢?我们可以通过Apache来实现禁止目录访问(禁止游览列出的目录或文件列表)、禁止或允许IP与域名访问目录的功 能。\n环境说明\n我使用的是DedeCMS DedeAmpz的PHP运行环境,PHP版本5.2.4,Apache版本2.2.4\n在Apache中配置禁止目录访问,即禁止游览列出的目录/文件列表的方法\n访问网站目录时Apache默认配置为可列出目录/文件列表,即当你访问http://localhost时会列出相关的目录和文件列表,我们可以通过修改Apache配置文件httpd.conf来实现禁止列出目录/文件列表,方法如下:\n1、打开apache配置文件httpd.conf\n2、找到\nOptions Indexes AllowOverride None Order allow,deny Allow from all 只需要修改Options Indexes为Options None即可,注:根据PHP运行环境安装包的 …"
July 15, 2010
Apache最大连接数性能测试
"Apache最大连接数性能测试。\n这天工作没什么事情,翻开看资料,再次学习一下apache的性能优化,以下就说说我的设置及测试。\n先说一下我的测试机硬件及软件配置环境:\n硬件:一台比较古老的机器,cpu: P42.0 ,内存256,其他的就不多说了。\n软件:linux as 4 , apache2.0.59。\n先说一下这次安装及配置就是测试apache的性能,如果你打算看其他方面的,那就不要看了,因为偶也没有写,嘿嘿嘿……\n./configure –prefix=/usr/local/apache2 –with-mpm=worker –enable-so\n说明:\nMPM={beos|worker|prefork|mpmt_os2| perchild|leader|threadpool}\n我这里mpm使用的是worker,以下说明一下mpm个参数;\nMPM的引入是Apache 2.x最重要的变化,影响apache2.x 性能的最核心特性,\nMPM(Multi -Processing Modules,多道处理模块),运行在一种多进程与多线程相混合的模式下,增强部分配置的可扩充性能。相比 …"
July 14, 2010
apache你必须知道的一些知识
"一下是网管的一些面试题的,大部分和apache 有关,所以记下来供学习参考之用.\n1,你认为组成web站点体系有哪些元素?\n2,这样的配置,在apache起来后会有几个子进程? (别把这个问题想的简单化)\nStartServers 5 MinSpareServers 50 MaxSpareServers 100 MaxClients 150 MaxRequestsPerChild 0\n3,在apache的worker MPM中,为什么ServerLimit要放到配置段最前面?\n4,千兆网卡的极限pps是多少?是如何算出来的?\n5,为什么lighttpd,nginx的并发性能比apache要高?\n6,top命令里running的值表示什么意思?这个值和CPU数有什么关系?\n7,在http header头里看到的:Last-Modified,Expires,max-age,etag这四者有什么关系?\n8,一个web站点,如何计算所需要的带宽?公式是什么?\n9,如何看http的并发连接数的?\n10,FIN_WAIT2是在什么状态?\n11,iostat看到的: wsec/s = 600 那 …"
July 14, 2010
Windows下 Apache 性能优化
"一般来说,WinNT系统下使用IIS,而Apache在Linux下应用的比较多,但是依然有很多人在WinNT系统下使用Apache而非IIS,可能是基于对Windows系统的熟悉吧。今天就来说一下在Windows系统下如果优化Apache的性能。\nmpm_winnt.c是专门针对Windows NT优化的MPM(多路处理模块),它使用一个单独的父进程产生一个单独的子进程,在这个子进程中轮流产生多个线程来处理请求。也就是说 mpm_winnt只能启动父子两个进程, 不能像Linux下那样同时启动多个进程。\nmpm_winnt主要通过ThreadsPerChild和MaxRequestsPerChild两个参数来优化Apache,下面详细来说明一下。\nThreadsPerChild\n这个参数用于设置每个进程的线程数, 子进程在启动时建立这些线程后就不再建立新的线程了. 一方面因为mpm_winnt不能启动多个进程, 所以这个数值要足够大,以便可以处理可能的请求高峰; 另一方面该参数以服务器的响应速度为准的, 数目太大的反而会变慢。因此需要综合均衡一个合理的数值。 mpm_winnt上的默认 …"
July 14, 2010
apache工作方式
"1 、prefork.c模块(一个非线程型的、预派生的MPM) prefork MPM 使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接。在大多数平台上,Prefork MPM在效率上要比Worker MPM要高,但是内存使用大得多。prefork的无线程设计在某些情况下将比worker更有优势:它可以使用那些没有处理好线程安全的第三方模块,并且对于那些线程调试困难的平台而言,它也更容易调试一些。\nServerLimit 20000\nStartServers 5\nMinSpareServers 5\nMaxSpareServers 10\nMaxClients 1000\nMaxRequestsPerChild 0\nServerLimit 2000\n//默认的MaxClient最大是256个线程,如果想设置更大的值,就的加上 ServerLimit 这个参数。20000是 ServerLimit 这个参数的最大值。如果需要更大,则必须编译 apache,此前都是不需要重新编译 Apache。\n生效前提:必须放在其他指令的前面\nStartServers 5\n// …"
July 14, 2010
apache prefork优化及压力测试
"优化apache prefork模式的参数, (384M内存openvz 的vps环境下面)\n\u0026lt;IfModule mpm_prefork_module\u0026gt; StartServers 12 MinSpareServers 12 MaxSpareServers 12 MaxClients 12 MaxRequestsPerChild 100 \u0026lt;/IfModule\u0026gt; StartServers是启动的进程数,Min和Max是最小最大进程数, MaxClients是最大可连接的客户端,MaxRequestPerChild是一个进程的生命周期内处理的请求数量,一旦达到设定的这个值,就回收进程。 这里的vps环境是内存384M最大可用,openvz的vps.其它优化设置可以参考\n测试一千个客户端并发时的压力,可以用apache自带的ab.exe。\nab -n 1000 -c 1000 http://www.netroby.com/index.php\n测试结果:\nServer Software: Apache/2.2.14 Server Hostname: …"
May 30, 2010
网页优化-apache中文件有效期的设置-yslow
"前面我用已经启用了网页压缩功能,见 http://blog.haohtml.com/index.php/archives/3723,下面我们来对网页元素有效期进行设置。\n首先,启用LoadModule expires_module modules/mod_expires.so,只要在httpd.conf中把前面的#号去掉就可以了。然后在httpd.conf最后添加以下几行\nExpiresActive On\nExpiresDefault “access plus 10 years”\n重启apache,可以用firefox浏览器中的yslow插件查看最终效果,此时”add expires haders”项应该为A。表示配置成功."
May 30, 2010
网页减肥-apache中启用gzip压缩
"先启用 LoadModule deflate_module modules/mod_deflate.so,只需要把前面的#去掉就可以了。\n然后在httpd.conf最下面添加以下行:\nDeflateBufferSize 8096 DeflateCompressionLevel 1 DeflateMemLevel 9 DeflateWindowSize 15\nDeflateFilterNote Input instream DeflateFilterNote Output outstream DeflateFilterNote Ratio ratio DeflateFilterNote ratio LogFormat ‘”%r” %{outstream}n/%{instream}n (%{ratio}n%%)’ deflate CustomLog logs/deflate.log deflate\nSetOutputFilter DEFLATE\nAddOutputFilterByType DEFLATE text/html text/css application/x-javascript …"
May 18, 2010
cacti添加apache状态信息
"对Apache Server Status的启用状态信息 对Apache的状态管理的模块是LoadModule status_module modules/mod_status.so,所以需要在配置文件httpd.conf里启用这个模块,所前面的#去掉.然后将”#Include conf/extra/httpd-info.conf“前面的#也去掉,打开extra/httpd-info.conf文件,启用\nExtendedStatus On\n配置Apache Server Status的权限\nSetHandler server-status Order Deny,Allow Deny from all Allow from 10.0.10.22\n下载CACTI模板和脚本\nhttp://forums.cacti.net/about25227.html\u0026amp;highlight=apachestats\n在上面的地址下载一个叫 ApacheStats08.zip 的,中间有二个文件,一个处理脚本php的,另一个是xml的文件.\n1.其中的ss_apache_stats.php是脚本文件,它是 …"
May 18, 2010
有关Apache Server Status和Cacti对Apache的监控
"我们平时使用apache常常了解他的性能只能使用ps aux|grep httpd|wc -l查看有多少个进程,但处理了多少http的请求我们不清楚,进程是不是在工作,还是在等都不是很明白,要了解apache的性能,我们需要使用 Apache Server Status的模块来详细了解apache工作的怎么样.下面我还介绍使用cacti来监控它.\n一.对Apache Server Status的启用 对Apache的状态管理的模块是LoadModule status_module modules/mod_status.so,所以这个需要有 然后打开下面的配置\nExtendedStatus On\n配置Apache Server Status的权限\n\u0026lt;location /server-status\u0026gt; SetHandler server-status Order Deny,Allow Deny from all Allow from 60.60.60.60 \u0026lt;/location\u0026gt; 打开查看的话就使用http://60.60.60.60/server-status来访 …"
May 5, 2010
Windows 2000/XP/2003下让APACHE支持ASP
"asp程序还是使用IIS来驱动比较好,怎么说都asp和IIS都是微软的产物,各方面的支持都可以得到保证;而且IASP是JAVA程序,速度会比IIS慢,这里之所以介绍Apache+JDK+IASP支持*.asp,是为大家多提供一条路参考而已!\n1、安装JDK组件支持IASP(如果你的Windows系统中已经安装了JDK,那么可以省略安装JDK)\nJDK6官方下载地址:\nhttp://www.java.net/download/jdk6/6u10/promoted/b32/binaries/jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe\nJDK6 API CHM中文参考下载:\nhttp://chinesedocument.com/upimg/soft/JDK6API中文参考070114.rar\n2、安装iASP2.1.01.exe\niASP2.1.01.exe下载地址:\nhttp://www.china-microsoft.com/html/xitongruanjian/200806/05-53779.html\n按照安装提示做即可。我 …"
April 19, 2010
windows下apache+php平台,虚拟主机安全设置
"先按这里的文档对服务器系统安全做设置: http://blog.haohtml.com/index.php/archives/3438\n对于php.ini的设置有: 1.修改为安全\nsafe_mode = true\n2.禁用一些系统函数\ndisable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server\n3.禁用com组件调用\n将 ;com.allow_dcom = true 修改为 com.allow_dcom = false 启用并禁用 4.指定上传文件的临时目录\nupload_tmp_dir = “d:\\php\\upload_tmp”\n5.启用特别字符转义功能\nmagic_quotes_gpc = On\n6. …"
April 19, 2010
同服务器多网站的安全设置(windows server+apache+php)
"在windows环境下,如果用IIS做webserver,可以配合ntfs为每个网站设置不同的用户权限,从而让一个网站的程序只能访问自己目 录下的内容.\n而在windows的apache环 境下,由于apache默认是最高的system权限,因此非常危险,若不做安全设置,随便传一个php shell到任何一个网站上,就能控制整台服务器。\n要实现这个目标,需要做以下设置:\n1、在vhost中设置 open_basedir,设置后,php程序将只能打开规定目录下的内容(此指令不受安全模式是否打开的限制)。如下。同时最好把php.ini的 upload_tmp_dir 目录也添加进去,否则可能无法正常上传文件。\nServerAdmin [email protected]\nDocumentRoot D:/abc\nServerName www.abc.com\nErrorLog logs/abc.com-error_log\nCustomLog logs/abc.com-access_log common\nphp_admin_value open_basedir “D:/abc;D:/php/temp” …"
April 7, 2010
为Apache配置mod_deflat压缩输出[已测试]
"1、如果未安装Apache。编译时,加上–enable-deflate,例如:(仅针对Linux版,Windows版无须此步骤) ./configure –prefix=/usr/local/apache –enable-rewrite –enable-so –enable-deflate\n2、如果已安装Apache。添加mod_deflate模块,例如:(仅针对Linux版,Windows版无须此步骤) /usr/local/apache/bin/apxs -i -a -c /home/zhangyan/software/httpd-2.0.59/modules/filters/mod_deflate.c 注:/home/zhangyan/software/httpd-2.0.59/为Apache源码路径。\n3、进行以上步骤后,会在httpd.conf中自动加入一行:(Windows版请将下行最前面的#号去掉)\nLoadModule deflate_module modules/mod_deflate.so\n4、 编辑httpd.conf,增加: Linux版: …"
April 1, 2010
查看Apache并发请求数及其TCP连接状态[原创]
"[文章作者:张宴 本文版本:v1.1 最后修改:2007.07.27 转载请注明出处: http://blog.s135.com]\n这两天搭建了一组Apache服务器,每台服务器4G内存,采用的是prefork模式,一开始设置的连接数太少了,需要较长的时间去响应用户的请求, 后来修改了一下Apache 2.0.59的配置文件httpd.conf:\nprefork MPM StartServers: number of server processes to start MinSpareServers: minimum number of server processes which are kept spare MaxSpareServers: maximum number of server processes which are kept spare MaxClients: maximum number of server processes allowed to start MaxRequestsPerChild: maximum number of requests a …"
March 31, 2010
apache下启用二级域名泛解析,实现博客功能
"httpd_vhosts.conf文件内容\nDocumentRoot “d:/site/papake.cn” DirectoryIndex index.htm index.php\nOptions Indexes MultiViews AllowOverride None order allow,deny Allow from all Options FollowSymLinks Includes\nRewriteEngine on RewriteLog logs/re.log RewriteLogLevel 1 RewriteCond %{HTTP_HOST} ^[a-zA-Z0-9-]+.papake.cn$ RewriteCond %{HTTP_HOST} !^(www).papake.cn$ RewriteRule ^/?$ /%{HTTP_HOST} [NC] RewriteRule ^/([a-zA-Z0-9-]+).papake.cn/?$ http://www.papake.cn/$1 [P,L]\nRewriteLog …"
March 23, 2010
把不带前缀的域名转向到www.域名的Apache 301转向配置样例
"各种不同的域名地址对于搜索引擎的除重(deduplication)来说是一个负担,有没有”/”和首页的文件连接,一个域名首页就可以有6个地址:\nwww.haohtml.com/\nhaohtml.com/\nwww.haohtml.com\nhaohtml.com\nwww.haohtml.com/index.php\nhaohtml.com/index.php\n如果加上一些参数,比如用于来源跟踪等还会有更多无穷无尽的地址。\nwww.haohtml.com/?source=foobar\n所以搜索引擎鼓励发布者 把URL标准化(归一化)。首先就是域名的归一化,原先我的设置为: www.haohtml.com / haohtml.com为别名。现在改为haohtml.com 301转向到www.haohtml.com\nServerName haohtml.com\nRewriteEngine on\nRewriteRule ^(.*)$ http://www.haohtml.com$1 [R=301,L]\n如果没有mod_rewrite也可以设置mod_alias:\nRedirectMatch 301 …"
January 22, 2010
用apache来实现限制ip可以访问phpmyadmin
"为了安全,只允许固定ip才可以访问phpmyadmin,这个由于没有找到在phpmyadmin配置的地方,所以这里用apache来实现这个功能\nServerAdmin [email protected] DocumentRoot “D:\\site\\phpMyAdmin” ServerName php.haohtml.com DirectoryIndex index.php index.shtml Options Indexes MultiViews AllowOverride None order deny,allow Allow from 192.168.0.7 Deny from all Allow from all Options FollowSymLinks Includes 经过上面一系列的配置,将只允许ip为192.168.0.7的ip才可以访问phpmyadmin,其它的ip都不允许访问."
May 19, 2009
Apache 的信息查看模块——Server-Status
"前提:启用httpd.conf配置文件里的两个模块:| LoadModule status_module modules/mod_status.so LoadModule info_module modules/mod_info.so\n本文我们将讨论使用 mod_status 和 mod_info to 来告诉你目前服务器的工作情况 我可以得到什么样的信息? 使用 mod_status,你可以知道谁在你的服务器上看些什么东西,以及有多少人连在Web 服务器上。还有其他可能你的客户不关心的信息,但是对于你,一个站点管理员来说,却是十分有用的信息。\n客户喜欢这些资料 我不知道你的客户都是怎样的人物,但是我的客户喜欢我提供的信息。每天一次的信息还不够,因为到一天结束时才知道就太晚了。所以他们喜欢知道现在正在发生的事情。\nmod_info 和 mod_status 这两个模块可以提供十分有用的信息,而且十分方便。 mod_status 能准确地告诉你,你的服务器正在“想”什么。你可以知道有哪些人在浏览您的网站,有多少子进程在运行,以及这些进程在干吗。\n如果你使用缺省方法安装的 Apache 的 …"
May 19, 2009
解决win环境下Apache占用大量内存的问题
"我有个服务是在windows下的Apache2提供的。访问量不是很大,隔4、5天竟然停止服务,调查发现Apache2的进程httpd.exe占用内存达到了1.5G。在网上找到如下解决办法。\n用记事本打开apache2\\conf\\httpd.conf,查找MaxRequestsPerChild,将MaxRequestsPerChild 0改成MaxRequestsPerChild 50即可。\n原因是:\n通常在“Windows任务管理器-进程”中可以看到两个apache.exe进程,一个是父进程、一个是子进程,父进程接到访问请求后,将请 求交由子进程处理。MaxRequestsPerChild这个指令设定一个独立的子进程将能处理的请求数量。在处理 “MaxRequestsPerChild 数字”个请求之后,子进程将会被父进程终止,这时候子进程占用的内存就会释放,如果再有访问请求,父进程会重新产生子进程进行处理。\n如果MaxRequestsPerChild缺省设为0(无限)或较大的数字(例如10000以上)可以使每个子进程处理更多的请求,不会因为 不断终止、启动子进程降低访问效率, …"
May 7, 2009
服务器的大用户量的承载方案 Nginx Squid Apache PHP MySQL
"一、前言\n二、编译安装\n三、 安装MySQL、memcache\n四、 安装Apache、PHP、eAccelerator、php-memcache\n五、 安装Squid\n六、后记\n一、前言,准备工作\n当前,LAMP开发模式是WEB开发的首选,如何搭建一个高效、可靠、稳定的WEB服务器一直是个热门主题,本文就是这个主题的一次尝试。\n我们采用的架构图如下:\n引用\n——– ———- ————- ——— ————\n| 客户端 | ===\u0026gt; |负载均衡器| ===\u0026gt; |反向代理/缓存| ===\u0026gt; |WEB服务器| ===\u0026gt; |数据库服务器|\n——– ———- ————- ——— ————\nNginx Squid Apache,PHP MySQL\neAccelerator/memcache\n准备工作:\n引用\n服务器: Intel(R) Xeon(TM) CPU 3.00GHz * 2, 2GB mem, SCISC 硬盘\n操作系统:CentOs4.4,内核版本2.6.9-22.ELsmp,gcc版本3.4.4\n软件:\nApache 2.2.3(能使用MPM模式)\nPHP …"
March 16, 2009
Apache和Nginx下禁止访问*.txt文件
"大家是否测试Apache做了目录禁止浏览后,目录下面的txt文件还是可以显示里面的内容的。(我的是这样的)\n例如: http://www.domain.com/test/ 此访问会报403错误,但是如果test下有很多txt,你访问该txt时;\n例如: http://www.domain.com/test/a.txt,此时a.txt里的内容会全部暴露在外面了(有时这个txt是很机密的文件),这样以来问题就来了。\n同样:我在Nginx配置后后也存在这样的问题,Apache下此问题的解决多谢NetSeek帮助。\n如下是关于Apache和Nginx 限制该类事情办法:\nApache:解决办法;\nOptions -Indexes FollowSymLinks AllowOverride All Order allow,deny Deny from all Nginx:解决办法; location ~* .(txt|doc)$ { if (-f $request_filename) { root /home/domain/public_html/test; break; } } Nginx下请大 …"
January 12, 2009
APACHE优化之apache的内存使用
"Apache是运行在Linux操作系统上的头号Web服务器。很多小地方都可以用来调整Apache的性能,并降低它对系统资源的影响。其中一个就是调整内存使用率,当然达到这一目的可能还是需要花点功夫的。 例如,通过ps来确定httpd线程的内存使用率,可以输入下面的命令: # ps -U apache -u apache u\nUSERPID %CPU %MEMVSZRSS TTYSTAT START TIME COMMAND apache130670.05.3 149704 54504 ?SOct071:53 /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf -DAPACHE2 …\n上面这段输出显示了单个httpd进程使用了50 MB的RSS(驻留集大小)内存(或者非交换物理内存),以及149 MB的VSZ(虚拟)内存。这当然在很大程度上取决于你在Apache里加载和运行的模块数量。这决不是一个固定的数字。由于这个数字里还包含了共享库包,所以不是100%的准确。我们可以认为RSS数字的一半是httpd线程真正使用的内存数,这可能还有点保守,但是离我 …"
December 5, 2008
apache ab压力测试
"以前安装好APACHE总是不知道该如何测试APACHE的性能,现在总算找到一个测试工具了。就是APACHE自带的测试工具AB(apache benchmark).在APACHE的bin目录下。 格式:\n./ab [options] [http://]hostname[:port]/path\n参数: -n requests Number of requests to perform //在测试会话中所执行的请求个数。默认时,仅执行一个请求 -c concurrency Number of multiple requests to make //一次产生的请求个数。默认是一次一个(测试次数=n/c,所以此值要小于上面参数n的值)。 -t timelimit Seconds to max. wait for responses //测试所进行的最大秒数。其内部隐含值是-n 50000。它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。\n-p postfile File containing data to POST //包含了需要POST的数据的文件. -T …"
December 5, 2008
Apache实现图片防盗链
"Apache实现图片防盗链以及,显示一张“禁止盗链”的图片,我们可以用mod_rewrite 来实现。\n假设充许连结图片的主机域名为:tech.ddvip.com\n修改httpd.conf\nSetEnvIfNoCase Referer “^” local_ref=1\nOrder Allow,Deny\nAllow from env=local_ref\n这个简单的应用不光可以解决图片盗链的问题,稍加修改还可以防止任意文件盗链下载的问题。\n使用以上的方法当从非指定的主机连结图片时,图片将无法显示。\n如果希望显示一张“禁止盗链”的图片,我们可以用mod_rewrite 来实现。\n首先在安装 apache 时要加上 –enable-rewrite 参数加载 mod_rewrite 模组。\n假设“禁止盗链”的图片为abc.gif,我们在 httpd.conf 中可以这样配置:\nRewriteEngine on\nRewriteCond %{HTTP_REFERER} !^$\nRewriteCond %{HTTP_REFERER} !^http://(tech.)?ddvip.com /.*$ …"
December 4, 2008
Apache的目录安全措施
"Apache Server 允许使用 .htaccess 做目录安全保护,欲读取这保护的目录需要先键入正确用户帐号与密码。\n可做为系统管理者的专用管理网页存放的目录或做为专区,例如教师专区或行政专区使用。\n方法为:在你要保护的目录放置一个档案,档名为.htaccss 内容为:\nAuthName “行政专区” AuthType “Basic” AuthUserFile “/var/tmp/xxx.pw” (把密码档放在网站外) (一定要大写) require valid-user\n到apache/bin目录,开始建密码档\n% ./htpasswd -c /var/tmp/xxx.pw username1 (输入两次密码,第一次建档要用参数-c\n% ./htpasswd /var/tmp/xxx.pw username2 (输入两次密码)\n如此一来,当要连结置於此保护目录内的网页时,就非得要是合法用户不可了.此法简单,保护能力极强,是Apache内附的模组,应善加使用。 如果你们想修改密码,可以如下\nhtpasswd -m .htpasswd webadmin\n第5步:\nok,重 …"
December 4, 2008
安装awstats来分析apache的访问日志
"AWStats: Advanced Web Statistics\nAWStats是在Sourceforge上发展很快的一个基于Perl的WEB日志分析工具。相对于另外一个非常优秀的开放源代码的日志分析工具Webalizer,AWStats的优势在于:\n界面友好:可以根据浏览器直接调用相应语言界面(有简体中文版) 基于Perl:并且很好的解决了跨平台问题,系统本身可以运行在GNU/Linux上或Windows上(安装了ActivePerl后);分析的日志直接支持Apache格式 (combined)和IIS格式(需要修改)。Webalizer虽然也有Windows平台版,但目前已经缺乏维护; AWStats完全可以实现用一套系统完成对自身站点不同WEB服务器:GNU/Linux/Apache和Windows/IIS服务器的统一统计。 3. 效率比较高:AWStats输出统计项目比Webalizer丰富了很多,速度仍可以达到Webalizer的1/3左右,对于一个日访问量百万级的站点,这个速度都是足够的; 4. 配置/定制方便:系统提供了足够灵活但缺省也很合理的配置规则,需要修改的缺省配置 …"
December 4, 2008
Apache配置文件里各种权限的含义
"/etc/apache/httpd.conf :\nServerRoot “/usr”\n#因为安装到/usr下,所以ServerRoot是/usr。在以下配置中,以相对路径写的就是对于相对/usr\nPidFile /var/run/httpd.pid\n#httpd启动时的pid存放位置,用于start/stop apache\nTimeout 300\n#连接超时时间\nKeepAlive On\n#允许持续连接,一个连接多个请求.\nMaxKeepAliveRequests 200\n#持续连接中最大连接数,推荐大一些获得最佳性能\nKeepAliveTimeout 15\n#Client 在15秒内没有下次请求则断线\nMinSpareServers 5\nMaxSpareServers 10\nhttpd服务进程的数量,ps aux 可以看到\nMaxClients 150\n最大连接人数\nListen 80\n#监听端口\n#ExtendedStatus On\n#使用/server-status查询服务器状态时给予完全信息(ON)或基本信息(OFF) 默认为OFF\nUser apache\nGroup …"
December 3, 2008
配置apache服务器支持shtml
"服务器采用shtml速度会比html慢,比php快。\nshtml的特点就是能够进行页面包含,能够局部更新页面包含部分。广泛采用可以很容易解决网页中的广告问题,不需要更新全面静态页面。而只需更新一个包含页面即可。\napache下配置服务器支持shtml\n打开文件:httpd.conf\n去掉前面的 #LoadModule include_module modules/mod_include.so\nOptions Indexes FollowSymLinks Includes\nAllowOverride Options FileInfo Order allow,deny Allow from all\n找到下面两句,去掉前面的#\nAddType text/html .shtml AddOutputFilter INCLUDES .shtml\n重启apache即可。\n建立页面:\n测试\nfile为相对于当前文档的路径。\nvirtual为相对于虚拟目录的路径。 如果需要让所有的html文件支持shtml.只需要修改上面一句。\nAddOutputFilter INCLUDES .html"
November 11, 2008
apache 中控制虚拟主机的php功能
"使用情况分以下两种:\n一,在httpd.conf中配置了全局使用php脚本,则使用下面的方法 在虚拟主机的设置小节中添加php_flag engine on/off 字串7\n如: 字串9 ServerName xxxxxx.com php_flag engine off serveralias www.xxxxxx.com ServerAdmin [email protected] DocumentRoot “/home/xxxxxx/htdocs” haohtml.com\n二.没有在httpd.conf中配置执行php脚本功能\n在虚拟主机配置中这样改:\n把 AddType application/x-httpd-php .php 这句话放到需要运行php的虚拟主机的配置中\n#这个虚拟主机不能运行php\nServerAdmin [email protected] DocumentRoot d:/www.haohtml.com/ ServerName www.haohtml.com\n#这个虚拟主机可以运行php\nServerAdmin [email protected] …"
October 6, 2008
[精典] FreeBSD下安装MySQL+Apache+PHP新手指南
"作者: heiyeluren QQ群: 5415735 (Linux/BSD安装维护群) 日期: 2004/8/18 — 特别感谢QQ群好友阿南,本文在他的耐心指导下才产生 —\n看到朋友们在Unix/Linux上装mysql有点麻烦,我也好不容易装完了,所以就来讲件,也许能帮帮大家的忙. 我使用的操作系统是FreeBSD5.2.1,如果别的操作系统安装方法也许不一样,请酌情处理. 安装FreeBSD就不讲了,只要稍微定制一下就可以了,过程我就不说了,我用的FreeBSD版本是5.2.1,应该是现在比较新的版本,以后就不知道了 🙂 .\n一. 安装MySQL\n我使用的的Mysql是4.0.20,源代码版,你也可以使用RPM包或者二进制版,安装方法可能不一样,请参考其它文章. 先下载Mysql2.0.20的源代码版,地址: http://dev.mysql.com/downloads/mysql/4.0.html 把它下到/usr/local/src目录下,如果没有该目录,就自己建一个.下载回来的包名字叫 mysql-4.0.20.tar.gz,然后我们把它解压出来:\n# tar -zxvf …"
October 2, 2008
[精典教程]freebsd下安装mysql,apache,php,phpmyadmin记录
"第一次在FREEBSD下配置环境,感觉好爽,安装的时候也参考了别人的介绍,在此表示感谢。\n为了方便以后的操作,现在记录写下来。\n**安装MYSQL时要注意: ** mysql默认数据库放在/var分区里,如果你的数据库很大,那么你需要在前面分区的时候把/var分区分到足够大, 如果你想改变它的安装目录,例如安装到:/usr/db.\n#cd /usr/ports/databases/mysql51-server #make WITH_CHARSET=utf8 WITH_XCHARSET=all WITH_PROC_SCOPE_PTH=yes SKIP_DNS_CHECK=yes BUILD_OPTIMIZED=yes install clean\n#cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf #/usr/local/bin/mysql_install_db #chown -R mysql:mysql /var/db/mysql #/usr/local/bin/mysqld_safe \u0026amp; //启动mysql …"
October 2, 2008
Freebsd7.0下安装APACHP22服务器
"(1)最小化安装FREEBSD7.0-RELEASE (2)安装APACHE22 b2sun.com#cd /usr/ports/www 这个目录下会有apache22这个目录.安装它就OK了. b2sun.com#setenv PACKAGESITE ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/i386/packages-7.0-release/Latest/ b2sun.con#pkg_add -f -r apache22 这时系统会自动下载文件并安装 apache22_enable=”YES” 这行加入/etc/rc.conf中.系统会自动启动这个服务. 安装完成后您需要在/usr/local/www/apache22下面建立一个data的目录及一个index.html文件.这样就可正常启动apache22 并在其它客户端中访问您建立的服务器. **(b2sun.com#apachectl start(stop restart))**这个非常关键. 最好 安装完后重新启动您的FreeBSD7操作系统.\nFAMP架构的建立\nLAMP架构 …"
March 28, 2008
解决Apache日志文件ACCESS.LOG日益膨胀的一个办法:
"将httpd.conf中CustomLog logs/access.log common 改成\nCustomLog “|c:/apache/bin/rotatelogs c:/apache/logs/%Y_%m_%d.access.log 86400 480” common\n重启Apache\n其中c:/apache/是你安装apache的路径 这样每一天生成一个日志文件"