Linux课程笔记 Apache常用模块的介绍

1. mod_expires模块介绍

1.1 mod_expires介绍

mod_expires允许通过apache配置文件控制HTTP的”Expires:”和”Cache-Control:”头内容,这个模块控制服务器应答时的Expires头内容和Cache-Control头的max-age指令。有效期可以设置为相对于源文件的最后修改时刻或客户端的访问时刻。

这些HTTP头向客户端表明了内容的有效性和持久性。如果客户端本地有缓存,则内容就可以从缓存而不是从服务器读取。然后客户端会检查缓存中的副本,看看是否过期或者是小,已决定是否从新从服务器获得内容更新。

1.2模块安装方法

常规安装方法:

(1) 编译时可加入如下参数:

--enable-expires

(2) mod_expires DSO安装方法


cd /root/tools/httpd-2.2.25/modules/metadata   ç切到apache软件目录mod_expires程序下

#这个是解压软件包的路径

/application/apache/bin/apxs -c -i -a mod_expires.c ç以dso的方式编译到apache中

ll /application/apache2.2.25/modules/mod_expires.so ç检查mod_expires

(3) mod_expires  DOS安装出错一例

注意:如果使用.config的方式编译了mod_expires,又以DSO的方式安装mod_expires模块,检查apache的雨法会出现如下报错提示:(可以在httpd.conf文件中,注释该模块)

[[email protected] metadata]# /application/apache/bin/apachectl -t

httpd: Syntax error on line 54 of /application/apache2.2.25/conf/httpd.conf: module expires_module is built-in and can‘t be loaded

1.3   mod_expires在apache中的应用


[[email protected] extra]# cat httpd-vhosts.conf---

NameVirtualHost *:80

NameVirtualHost *:8091

NameVirtualHost *:8092

#<VirtualHost *:80>

#DocumentRoot "/var/html/tmp"

#</VirtualHost>

<VirtualHost *:80>

ServerAdmin [email protected]

DocumentRoot "/var/html/blog"

ServerName blog.etiantian.org

ServerAlias etiantian.org

ErrorLog "/app/logs/blog-error_log"

#CustomLog "/app/logs/blog-access_log" common

CustomLog "|/usr/local/sbin/cronolog /app/logs/access_blog_%w.log" combined

ExpiresActive on

ExpiresDefault "access plus 12 month"

ExpiresByType text/html "access plus 12 months"

ExpiresByType text/css "access plus 12 months"

ExpiresByType image/gif "access plus 12 months"

ExpiresByType image/jpeg "access plus12  12 months"

ExpiresByType image/jpg "access plus 12 months"

ExpiresByType image/png "access plus 12 months"

EXpiresByType application/x-shockwave-flash "access plus 12 months"

EXpiresByType application/x-javascript "access plus 12 months"

ExpiresByType video/x-flv "access plus 12 months"

#这一串代码可以加在httpd.conf文件的最后,也可以加在httpd-vhost.conf文件中虚拟主机配置的后面

<ifmodule mod_deflate.c>

DeflateCompressionLevel 9

SetOutputFilter DEFLATE

AddOutputFilterByType DEFLATE text/html text/plain text/xml

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE text/css

</ifmodule>

</VirtualHost>

<VirtualHost *:8091>

ServerAdmin [email protected]

DocumentRoot "/var/html/bbs"

ServerName bbs.etiantian.org

ServerAlias etiantian.org

ErrorLog "/app/logs/bbs-error_log"

# CustomLog "/app/logs/bbs-access_log" common

CustomLog "|/usr/local/sbin/cronolog /app/logs/access_bbs_%w.log" combined

</VirtualHost>

使用curl  -I  URL的方式查看该文件的过期时间

1.4   生产环境mod_expire优点

(1) 提升用户体验

(2) 节约网站带宽成本

(3) 节约网站服务器及维护成本

1.5  expires失效条件

(1) 用户主动清空缓存

(2) 设置的缓存时间到期

1.6 控制expires方法

如果网站更新功能或更新文件后,用户再访问时的内容还是旧的,怎么解决这个问题

解答:

1)    首先,对于大多数公司业务来说,图片等资源一般很少会去修改,因此可以修改为10年

2)    对于js,css偶尔会变化的资源,一般expires设置时间比较短,比如1-30天

3)    在更新文件上采取策略,如,更新后以新的文件名发布

2 mod_deflate模块介绍

mod_deflate模块提供了DEFLATE输出过滤器,允许服务器在将输出内容在发送到客户端之前进行压缩,以节约带宽。

两种安装方式:

  1. 静态编译,即在编译的时候加上--enable-deflate(bin/apachectl -l 查看是否安装)
  2. 以DSO的方式执行安装(bin/apachectl  -M查看是否安装)

只需要把下面的配置复制到http.conf结尾保存,即可让所有的虚拟主机生效


<ifmodule mod_deflate.c>

DeflateCompressionLevel 9  #压缩的等级,越大压缩等级越高,消耗CPU越高

SetOutputFilter DEFLATE    #启用压缩

AddOutputFilterByType DEFLATE text/html text/plain text/xml   #这三行设置压缩类型

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE text/css

</ifmodule>

同样适用curl  -I URL的方式查看,还可以使用firefox插件查看

时间: 2024-10-10 08:19:02

Linux课程笔记 Apache常用模块的介绍的相关文章

Linux课程笔记 Apache的优化

Apache服务优化 1 配置Apache日志轮询 apache自带的日志轮询工具也是可以使用的,但是老师测试会丢日志,所以采用cronolog来配置日志轮询 tar zxf cronolog-1.6.2.tar.gz cd cronolog-1.6.2 ./configure make make install <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/html/www" Ser

Linux课程笔记 Apache服务Forbidden 403故障分析

403 Forbidden资源不可用.服务器理解客户的请求,但拒绝处理它.通常由于服务器上文件或目录的权限设置导致. 原因1(重要) apache配置文件中没有对站点目录的权限许可配置,这通常是在初始安装apache后,更改了默认的apache站点目录导致.如编译安装apache(假定安装目录为/application/apache2.2.23/)后,将站点目录更改为其他的路径:/var/html,则会报403错误 原因2 站点目录下无首页文件,而apache的配置又禁止了目录浏览,就会提示40

标C编程笔记day07 常用标准库介绍、字符串输入处理、字符指针的使用

常用标准库: assert.h:断言,包含assert宏.可以进行自我检查 ctype.h:字符处理,字符的分类,大小转换 errno.h:错误信息处理 float.h:浮点数特性 limits.h:整数的大小,提供了描述整数类型的宏 lcale.h:本地化 math.h:数学函数 setjmp.h:跳转 signal.h:信号处理 stdarg.h:可变长参数处理 stddef.h:经常使用的类型的定义 stdio.h:输入输出 string.h:字符串处理 stdlib.h:其他函数,字符串

Linux课程笔记 Day08 课上内容总结 Apache及Raid技术

一 http基础概念 1.1   静态网页的特点: (1)       静态网页每个页面都有一个固定的URL,而且URL一般以.htm..html..shtml等形式为后缀,而且地址中不含有问号”?” (2)       静态网页是实实在在保存在服务器上的文件,每个都是一个独立的文件 (3)       静态网页的内容相对稳定,容易被搜索引擎收录(优点) (4)       静态网页没有数据库的支持,在网站制作和维护方面工作量较大(缺点) (5)       静态网页的交互性较差,在功能方面有较

Python学习笔记之常用模块

相关链接: 常用模块:http://blog.sina.com.cn/s/blog_44bac24d0100066h.html 常用模块一:https://www.cnblogs.com/gaoya666/p/8254179.html 原文地址:https://www.cnblogs.com/grooovvve/p/8745839.html

Linux课程笔记 Nginx介绍

1  Nginx介绍 与Apache相比,在性能上,nginx占用更少的系统资源,特定的场景应用(静态数据)能支持更多的并发连接,达到更高的访问效率:在功能上,Nginx是一个优秀的反向代理和负载均衡服务器,也可以作为缓存服务器. 2  Nginx有点总结: 高并发:能支持1-2万甚至更多的并发连接(静态小文件环境下) 内存消耗少:在3万并发连接下,开启的10个Nginx进程消耗不到200M内存 可以做HTTP反向代理,即负载均衡功能,相当于专业的haproxy软件或lvs的功能 内置对RS服务

apache常用模块介绍

mod_actions 基于媒体类型或请求方法,为执行CGI脚本而提供 mod_alias 提供从文件系统的不同部分到文档树的映射和URL重定向 mod_asis 发送自己包含HTTP头内容的文件 mod_auth_basic 使用基本认证 mod_auth_digest 使用MD5摘要认证(更安全,但是只有最新的浏览器才支持) mod_authn_alias 基于实际认证支持者创建扩展的认证支持者,并为它起一个别名以便于引用 mod_authn_anon 提供匿名用户认证支持 mod_auth

Linux课程笔记 Crond介绍

1. 定时任务比较及cron语法 Linux的任务调度可以分为两类: 系统自身执行的任务 用户执行的工作 Linux系统下另外两种定时任务软件: at:适合仅执行一次的调度任务,需要启动一个名为atd的服务 anacron:这个命令主要用于非7*24小时开机的服务器,anacron并不能指定具体时间执行任务,而是以天为周期或者在系统每次开机后需要执行的任务,它会检测停机期间应该进行,但是并没有进行的crontab任务工作,执行一遍. 这两种比较少用 指令语法: Crontab  [-u user

Linux课程笔记 Day07 课上内容总结 SSH和rsync

一. SSH 1.1    SSH介绍 SSH是Secure Shell Protocol的简称.在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后再进行数据传输.确保了传递的数据安全.SSH是专为远程登录会话和其他网络问题提供安全性的协议. 在默认状态下,SSH协议提供两个服务功能:一个是提供类似telnet远程链接服务器的服务,即上面提到的SSH服务:另一个是类似FTP服务的stp-server,借助SSH协议来传输数据,提供更安全的FTP服务. 特别提醒:SSH客户端