apache性能调优(4)

看看好像没啥问题,一点这个超链接,因该是在IE中打开一个叫” 轮胎损坏情况2007-05-05.jpg”,嘿嘿,大家自己动手放一个带有中文名的这样的一个图片,看看能否被解析,解析不了。

所以我们就说,真奇怪,我们上传图片都是上传时的图片名经上传组件解析过以后变成一个UUID或者是GUID一类的文件名如:gb19070122abcxd.jpg这样一种英文加数字组合的文件名,这样的文件名,Apache当然是可以解析的,客户坚持一定我上传的图片是中文名(连中文描述都不行),因为,客户说:我们是中国人,当然用中文图片名。。。

没办法,找了半天,找到一篇日文的教程,还好还好,N年前学过一点点日语,照着教程把它啃下来了。

这是一个日本人写的关于在Apache中支持以亚州文字命名文件名的一个“补丁”,叫“mod_encoding”。

相关配置:

1.       下载完后是一个这样的压缩包:mod_encoding-20021209.tar.gz

2.       解压后使用:

configure

make

make install

 

在make这一行时,编译出错,报“make: *** [mod_encoding.so] Error 1”这样的错

原因很明显,是regex.h未包含进来,解决办法也很简单:

ü   用vi打开mod_encoding.c,

ü   在#include <httpd.h>那一段的前面加上如下一行:

#include <regex.h>然后:

           重新make再make install 搞定,CALL!!!

3.       编译后得到一个:mod_encoding.so的文件,然后在httpd.conf文件中加入下面这几行:

LoadModule encoding_module modules/mod_encoding.so

Header add MS-Author-Via "DAV"

<IfModule mod_encoding.c>

  EncodingEngine    on

  NormalizeUsername on

  SetServerEncoding GBK

  DefaultClientEncoding UTF-8 GBK GB2312

  AddClientEncoding "(Microsoft .* DAV $)" UTF-8 GBK GB2312

  AddClientEncoding "Microsoft .* DAV" UTF-8 GBK GB2312

  AddClientEncoding "Microsoft-WebDAV*" UTF-8 GBK GB2312

</IfModule>

 

4.       重启Apache,搞定,在apache中我们的url可以是中文名的附件了。

不可忽视的keepalive选项

在Apache 服务器中,KeepAlive是一个布尔值,On 代表打开,Off 代表关闭,这个指令在其他众多的 HTTPD 服务器中都是存在的。

KeepAlive 配置指令决定当处理完用户发起的 HTTP 请求后是否立即关闭 TCP 连接,如果 KeepAlive 设置为On,那么用户完成一次访问后,不会立即断开连接,如果还有请求,那么会继续在这一次 TCP 连接中完成,而不用重复建立新的 TCP 连接和关闭TCP 连接,可以提高用户访问速度。

那么我们考虑3种情况:

  1.用户浏览一个网页时,除了网页本身外,还引用了多个javascript 文件,多个css 文件,多个图片文件,并且这些文件都在同一个HTTP 服务器上。

  2.用户浏览一个网页时,除了网页本身外,还引用一个javascript 文件,一个图片文件。

  3.用户浏览的是一个动态网页,由程序即时生成内容,并且不引用其他内容。

对于上面3中情况,我认为:1 最适合打开 KeepAlive ,2 随意,3 最适合关闭 KeepAlive

 下面我来分析一下原因。

 在 Apache 中,打开和关闭 KeepAlive 功能,服务器端会有什么异同呢?

 先看看理论分析。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/cead7c1879539a5ac5b2251ec5d114d8.html