需求一: 提高apache2.2.4 的访问速度,开启gzip压缩模块
解决办法:
参考地址1:http://blog.penner.cn/2007/04/04/apache2-mod_deflate.html
参考地址2:http://bbs.51cto.com/thread-499764-1.html
监测是否支持gizp 压缩 http://gzip.zzbaike.com/
Apache启用deflate压缩在 apache 1.3 版本,大家常用 mod_gzip 对输出内容进行压缩,现在主流的浏览器都支持 gzip 解压缩。
在 apache2 下,这个模块换名为 mod_deflate,对应的模块文件名是 mod_deflate.so。下面描述一下在 Apache 2 下如何启用并配置 mod_deflate 模块。默认安装的 Apache 不管是 Windows 还是 Linux/Unix,都是不启用该模块的, Linux/Unix 下甚至不带该模块,你需要手工编译这个模块。
下面我们分别介绍在 Windows 和 Linux 操作系统下如何启用并配置 mod_deflate 模块。在 Windows 下采用安装程序安装的 Apache 服务器已经带有 deflate 所需要的模块 mod_deflate.so 和 mod_headers.so,我们只需要在 httpd.conf 配置文件中启用并进行相关的配置即可,配置如下:
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
# Insert filter SetOutputFilter DEFLATE
# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
# the above regex won't work. You can use the following
# workaround to get the desired effect:
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
# Don't compress images
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
# Make sure proxies don't deliver the wrong content
eader append Vary User-Agent env=!dont-vary
而如果是 Linux/Unix 操作系统,如果你没有在编译安装的过程中将所需要的两个模块 mod_deflate 和 mod_headers 编译进去的话,那就稍微有点麻烦,首先我们先看如何在编译安装 Apache 过程中也同时编译这两个模块,请在执行 configure 程序时增加两个参数分别是: # ./configure --enable-deflate --enable-headers 这样在编译完 Apache 后就可以直接在 httpd.conf 中启用并配置 deflate 模块了,配置的方法跟 Windows 平台下是相同的。如果说您的 Apache 已经在运行了,不想再重新编译一次,那也可以选择只编译 deflate 模块所需的文件 mod_deflate.c 和 mod_headers.c。
这两个文件位于 {apache-src}/modules/filters/ 目录下(其中 {apache-src} 为 apache 源文件所在的目录)。使用如下命令来单独编译这两个源文件。
# {apache-bin}/apxs -i -a -c {apache-src}/modules/filters/mod_deflate.c
# {apache-bin}/apxs –i –a –c {apache-src}/modules/filters/mod_headers.c
When install the header module the src directory is {apache-src}/modules/metadata/mod_headers.c So we need change the command as follows:{apache-bin}/apxs -i -a -c {apache-src}/modules/metadata/mod_headers.c 其中 {apache-bin} 为 Apache 安装目录下的 bin 目录,接下来在 httpd.conf 直接配置该模块即可。
很多时候你在单独编译 deflate 模块的时候可能会碰到编译错误,提示是: Cannot load /opt/apache/modules/mod_deflate.so into server: /opt/apache/modules/mod_deflate.so: undefined symbol: deflate 解决的方法如下:编辑 /usr/local/apache2/bin/apr-config 文件修改其中的 LDFLAGS 值为 "-lz"然后再重新编译 mod_deflate 模块,apxs -ica mod_deflate.c 即可。为了省却不必要的麻烦,请尽量在编译安装时直接加上 --enable-deflate --enable-headers 参数。
需求二: apache2.2.4 支持中文目录
参考地址:http://blog.freebug.org/?p=212
解决办法:
Apache自身并不支持中文目录,但是目前日本的webdev提供了mod_encoding插件来支持多字节目录。
在AS5和Everest0.5pre2版本上测试通过,记录如下:
1)首先确定安装了httpd-devel包。如果没有安装之
2)从官方分别下载基本包和补丁包
#wget http://webdav.todo.gr.jp/download/mod_encoding-20021209.tar.gz
#wget http://webdav.todo.gr.jp/download/experimental/mod_encoding.c.apache2.20040616
或者可以下载文末提供的已经打好补丁的压缩包
3)解压基本包,并用mod_encoding.c.apache2.20040616替代基本包里的mod_encoding.c
#tar -xzf mod_encoding-20021209.tar.gz
#cd mod_encoding-20021209
#cp -f ../mod_encoding.c.apache2.20040616 mod_encoding.c
4)编译安装iconv_look库
# cd mod_encoding-20021209/lib/
# ./configure && make && make install
#echo “/usr/local/lib” >>/etc/ld.so.conf.d/local.conf
#ldconfig
5)编译安装mod_encoding模块
#cd mod_encoding-20021209
#./configure –with-apxs=/usr/sbin/apxs –with-iconv-hook=/usr/local/include
#make
注:如果5)步骤出现下面的报错
mod_encoding.c:235: error: ‘regex_t’ undeclared (first use in this function)
请在mod_encoding.c文件中加上regex.h头,也就是加入
#include <regex.h>
一行。然后再编译。
6)安装动态库
如果前面步骤都没有错误,则应该在当前目录能看到mod_encoding.o文件,接下来该目标文件做成共享的动态库
# gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib -Llib -liconv_hook
将生成的mod_encoding.so文件拷贝到Apache的动态模块库目录中去
cp mod_encoding.so /usr/local/httpd/modules/
我们采用创建新的conf文件来加载该so文件
#cat >/etc/httpd/conf.d/cndir.conf
LoadModule encoding_module modules/mod_encoding.so
<IfModule mod_headers.c>
Header add MS-Author-Via “DAV”
</IfModule>
<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>
<CTRL+D>
当然SetServerEncoding UTF-8这样可以设置成你希望的默认编码,比如GBK,比如GB2312.
重启Apache。现在测试中文目录,看看效果。
分享到:
相关推荐
LoadModule jk_module modules/mod_jk-apache-2.2.4.so JkWorkersFile conf/workers.properties JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories JkRequestLogFormat "%w %V %T" JkMount /servlet...
该程序包集成最新的Apache+PHP+MySQL+ZendOptimizer,一次性安装,无须配置即可使用,免安装,是非常方便、快递搭建Web...2、该程序包集成以下软件APAHCE2.2.4MySQL5.0.45PHP5.2.4ZendOptimizer 3.3.0phpMyAdmin 2.1.1
apache mina文档系统描述了mina的原理和使用
Apahce整合Tomcat Apahce整合Tomcat Apahce整合Tomcat Apahce整合Tomcat
eclipse php mysql apahce xampp php环境配置
主要给大家介绍了如何解决Ubuntu Apahce2.4下无法访问JS目录的问题,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
基于主机头的虚拟主机 照着图片的配置 调试一下就可以了!
apahce cook book
学习php的好帮手,快捷配置apache虚拟目录和HOSTS文件,自己配置一次apache虚拟目录和hosts文件就再也不需要配置了
教你如何在apache配置文件中,创建日志文件,以及自己想要的相应格式!
apache helix设计论文 helix是基于zookeeper之上的一个框架
我的学习笔记,一点点心得,希望对大家有用,过程写的都比较详细!
WINDOWS下php5.2.4+mysql6.0+apache2.2.4+ZendOptimizer-3.3.0配置与其他基本版本安装相同!第一: 装http服务器apache
Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己 的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。
内含如何通过apache 和 weblogic 进行集成,并且包含如何通过apache 的域名分析机制,实现一个apache 可以同时为多个应用实现app 集群,本人已经实验,完全可以按照这个实现,有问题请与我联系!
基于rc2版本构建打包,源码地址https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
相当不错的文档,通过简单操作,实现svn与apache整合
在支持POSIX线程的Unix系统上,现在Apache能在混合多进程、 多线程模式下运行,使很多(但不是全部的)配置的可扩缩性得到改善。 新的编译系统 重写了原来的编译系统,现在是基于autoconf和libtool的, 使得Apache...
很简单的安装手顺,用他肯定能安装工程,前提条件是下载的安装文件是正确的。