分类目录归档:网站应用

Apache2 设置页面Gzip压缩,节省带宽,加速下载

网页压缩来进一步提升网页的浏览速度,它完全不需要任何的成本,只不过是会让您的服务器CPU占用率稍微提升一两个百分点而已或者更少。

配置方法如下:

1、在httpd.conf配置文件确保下面这行不被注释(也就是去掉前面的#)
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so

2、添加配置
#Gzip压缩配置,配置选择性压缩,不压缩图片文件和已经是压缩格式的文件(浪费CPU资源)
<IfModule deflate_module>
SetOutputFilter DEFLATE
DeflateCompressionLevel 9 //压缩级别 1~9 级
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript   //需要压缩的格式
AddOutputFilter DEFLATE css js txt xml rss html htm    //需要压缩的格式
Header append Vary User-Agent env=!dont-vary
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png|bmp|tif)$ no-gzip dont-vary    //不需要压缩的格式
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|7z|bz2|sit|rar|bin|iso)$ no-gzip dont-vary   //不需要压缩的格式
SetEnvIfNoCase Request_URI .(?:pdf|doc|docx|xls|xlsx|ppt|pptx)$ no-gzip dont-vary    //不需要压缩的格式
</IfModule>

3、重启Apache观察结果,chrome浏览器开发者工具中,可以看到Response的消息头,Content-Encoding:gzip 字样,表示已经设置成功。

Apache2.4 客户端带宽速率限制

Apache 模块 mod_ratelimit在 httpd 2.4.24 及更高版本中可用。限速代理内容在 httpd 2.4.33 之前无法正常工作。

该模块提供名为RATE_LIMIT的筛选器以限制 Client 端带宽。在将 HTTP 响应传输到 Client 端时,会将其应用于每个 HTTP 响应,而不是在 IP /Client 端级别上进行聚合。使用环境变量rate-limit以 KiB/s 为单位指定要模拟的连接速度。
可选地,KiB 中的初始突发数据量可以配置为在节流到指定速率限制之前全速通过。此值是可选的,并使用环境变量rate-initial-burst设置。

使用方法如下:
1、在httpd.conf配置文件确保下面这行不被注释(也就是去掉前面的#)
LoadModule ratelimit_module modules/mod_ratelimit.so

2、在虚拟目录的中增加节点配置

<VirtualHost _default_:80>
DocumentRoot “D:/files/web”
<Directory “D:/files/web”>
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
DirectoryIndex index.php index.html
</Directory>

#这块配置downloads目录限速400KB
#——————————

<Location “/downloads”>
SetOutputFilter RATE_LIMIT
SetEnv rate-limit 400
SetEnv rate-initial-burst 512
</Location>
#——————————

</VirtualHost>

3、重启Apache即可实现限速