实战LAMP之apache调优-1
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实战LAMP之apache调优-1相关的知识,希望对你有一定的参考价值。
实战LAMP之apache调优
前言:
生产环境中,部署了apache之后,我们应该从安全还是性能角度,在apache服务上线之前,对其做诸多的优化调试才行。
一:实验目标
LAMP之apache调优
调优目录:
1:屏蔽apache版本等敏感信息
2:源码编译安装apache
3:运行apache的默认用户
4:修改权限和所属
5:错误页面优雅显示
6:启用压缩模块mod_deflate
7:设置网页缓存时间 mod_expires
8:apache的keepalive和keepalivetimeout 打开长链接
9:apache不同运行模式调优。
10:Rewrite 规则
11:禁止目录浏觅
12:禁止php解析网站中某个目录中的php文件
二:实验环境:
操作系统: RHEL6.5_x86_64
apache版本:httpd-2.2.25
PHP版本:php-5.4.14
源码包存放位置:/usr/local/src
源码包编译安装位置:
apache: /usr/local/apache2/
php:/server/php-5.4
mysql:/server/mysql-5.5/
三:实验代码
-------------------------------------------------------------------
屏蔽apache版本等敏感信息:
1)查看apache版本信息:
[[email protected]yu63 ~]# curl -I 192.168.1.63
HTTP/1.1 200 OK
Date: Sun, 15 Nov 2015 12:40:59 GMT
Server: Apache/2.2.25 (Unix) mod_ssl/2.2.25 OpenSSL/1.0.0-fips PHP/5.4.14
X-Powered-By: PHP/5.4.14
Content-Type: text/html
2)修改配置文件
#在apache主配置文件httpd.conf中,找到包含httpd-default.conf的行,并解开注释
[[email protected]yu63 ~]# vim /usr/local/apache2/conf/httpd.conf
408 #Include conf/extra/httpd-default.conf
为:
Include conf/extra/httpd-default.conf
注意:编译安装的情况下,只有此行解开注释了,后面的修改才能生效。
3)打开阿帕奇默认配置文件,修改如下两个地方
[[email protected]yu63 ~]# vim /usr/local/apache2/conf/extra/httpd-default.conf
改:
55 ServerTokens Full
65 ServerSignature On
为:
ServerTokens Prod
ServerSignature Off
注:
服务器标记产品
服务器签名
4)彻底让版本等敏感信息消失
分析:要彻底将版本之类的信息进行改头换面,需要在编译之前做准备戒者进行重新编译了。在重新编译时,修改源码包下include目录下的ap_release.h文件
[[email protected]yu63 httpd-2.2.25]# pwd
/usr/local/src
[[email protected]yu63 src]# rm -rf httpd-2.2.25 #删掉之前的服务
[[email protected]yu63 src]# tar zxf httpd-2.2.25.tar.gz
[[email protected]yu63 src]# cd httpd-2.2.25
修改配置文件
[[email protected]yu63 httpd-2.2.25]# vim include/ap_release.h
改:
42 #define AP_SERVER_BASEVENDOR "Apache Software Foundation"
43 #define AP_SERVER_BASEPROJECT "Apache HTTP Server"
44 #define AP_SERVER_BASEPRODUCT "Apache"
45
46 #define AP_SERVER_MAJORVERSION_NUMBER 2
47 #define AP_SERVER_MINORVERSION_NUMBER 2
48 #define AP_SERVER_PATCHLEVEL_NUMBER 25
49 #define AP_SERVER_DEVBUILD_BOOLEAN 0
为:
#define AP_SERVER_BASEVENDOR "yu"
#define AP_SERVER_BASEPROJECT "web server"
#define AP_SERVER_BASEPRODUCT "web"
#define AP_SERVER_MAJORVERSION_NUMBER 8
#define AP_SERVER_MINORVERSION_NUMBER 1
#define AP_SERVER_PATCHLEVEL_NUMBER 2
#define AP_SERVER_DEVBUILD_BOOLEAN 3
注释:
#define AP_SERVER_BASEVENDOR "Apache Software Foundation" #服务的供应商名称
#define AP_SERVER_BASEPROJECT "Apache HTTP Server" #服务的项目名称
#define AP_SERVER_BASEPRODUCT "Apache" #服务的产品名
#define AP_SERVER_MAJORVERSION_NUMBER 2 #主要版本号
#define AP_SERVER_MINORVERSION_NUMBER 4 #小版本号
#define AP_SERVER_PATCHLEVEL_NUMBER 6 #补丁级别
#define AP_SERVER_DEVBUILD_BOOLEAN 0 #
注:上述列出的行,大家可以修改成自己想要的,然后编译安装之后,再对httpd-default.conf文件进行修改,对方就彻底不知道你的版本号了。
5)测试:
[[email protected]yu63 ~]# curl -I 192.168.1.63
HTTP/1.1 200 OK
Date: Sun, 15 Nov 2015 12:40:59 GMT
Server: Apache/2.2.25 (Unix) mod_ssl/2.2.25 OpenSSL/1.0.0-fips PHP/5.4.14
X-Powered-By: PHP/5.4.14
Content-Type: text/html
-------------------------------------------------------------------
源码编译安装apache
1)源码编译安装apache
[[email protected]yu63 httpd-2.2.25]# pwd
/usr/local/src/httpd-2.2.25
[[email protected]yu63 httpd-2.2.11]# yum install openssl*
[email protected]yu63 httpd-2.2.25]# ./configure --prefix=/usr/local/apache2.2-yu --enable-so --enable-rewrite --enable-ssl
配置参数用途:
--prefix=/usr/local/apache2.2 #指定安装路径
--enable-so # 支持动态加载模块
--enable-rewrite #支持网站地址重写
--enable-ssl # 支持ssl加密
编译:
[[email protected]yu63 httpd-2.2.25]# make -j 4 # -j 4 ,以4核同时编译。 4个进程。
安装:
[[email protected]yu63 httpd-2.2.25]# make install
2)修改默认首页内容:
存放网站的根目录:
[[email protected]yu63 httpd-2.2.25]# ls /usr/local/apache2.2-yu/htdocs/
index.html
[[email protected]yu63 httpd-2.2.25]# echo apache-yu >> /usr/local/apache2.2-yu/htdocs/index.html
3)启动apache:
配置apache 可以开机启动并且可以使用service 命令启动apache服务器
[[email protected]yu63 httpd-2.2.25]# cp /usr/local/apache2.2-yu/bin/apachectl /etc/init.d/apachectl-yu
[[email protected]yu63 httpd-2.2.25]# ll !$
ll /etc/init.d/apachectl-yu
-rwxr-xr-x 1 root root 3455 Aug 29 17:38 /etc/init.d/apachectl-yu
[[email protected]yu63 httpd-2.2.25]# /etc/init.d/apachectl stop #关闭源来的apache包。
让apache开机启动,还要再在apachectl文件的头部的注释中加两条命令。
[[email protected]yu63 httpd-2.2.25]# vim /etc/init.d/apachectl-yu #插入以下红色内容
#!/bin/sh
# chkconfig: 2345 64 36
# description: apache-yu
设置开机自动启动:
[[email protected]yu63 httpd-2.2.25]# chkconfig --add apachectl-yu
启动apache:
[[email protected]yu63 httpd-2.2.25]# /etc/init.d/apachectl-yu start
4)测试:
-------------------------------------------------------------------
重新安装之后查再次修改版本信息:
1:查看版本信息
[[email protected]yu63 ~]# curl -I 192.168.1.63 #看不到apache版本相关内容了
HTTP/1.1 200 OK
Date: Sat, 29 Aug 2015 09:43:44 GMT
Server: web/8.1.2-dev (Unix) mod_ssl/8.1.2-dev OpenSSL/1.0.0-fips #依旧存在标识
Last-Modified: Sat, 29 Aug 2015 09:37:36 GMT
ETag: "6d086-3a-51e6ff35dba19"
Accept-Ranges: bytes
Content-Length: 58
Content-Type: text/html
2)修改配置文件
[[email protected]yu63 ~]# vim /usr/local/apache2.2-yu/conf/httpd.conf
408 #Include conf/extra/httpd-default.conf
为:
Include conf/extra/httpd-default.conf
[[email protected]yu63 ~]# vim /usr/local/apache2.2-yu/conf/extra/httpd-default.conf
改:
55 ServerTokens Full
65 ServerSignature On
为:
ServerTokens Prod
ServerSignature Off
3)重启服务:
[[email protected]yu63 ~]# /etc/init.d/apachectl-yu restart
4)测试:
[[email protected]yu63 ~]# curl -I http://192.168.1.63/
HTTP/1.1 200 OK
Date: Sat, 29 Aug 2015 09:55:31 GMT
Server: web
Last-Modified: Sat, 29 Aug 2015 09:37:36 GMT
ETag: "6d086-3a-51e6ff35dba19"
Accept-Ranges: bytes
Content-Length: 58
Content-Type: text/html
#这个时候版本信息已近被完全的 隐藏了
-------------------------------------------------------------------
查看运行apache的默认用户
分析:通过更改apache的默认用户,可以提升apache的安全性。这样,即使apache服务被攻破,黑客拿到apache普通用户也不会对系统和其他应用造成破坏。这里创建的apache用户,将用于对子进程和线程的控制。
注:默认使用daemon用户是安全的。
[[email protected]yu63 ~]# ps -axu | grep httpd
[[email protected]yu63 ~]# id daemon
uid=2(daemon) gid=2(daemon) groups=2(daemon),1(bin),4(adm),7(lp)
[[email protected]yu63 ~]# grep daemon /etc/passwd
daemon:x:2:2:daemon:/sbin:/sbin/nologin
-------------------------------------------------------------------
修改权限与所属
分析:apache目录及文件权限设置,不能给777权限 在生产环境的网站架构中,应把资源文件的权限做好配置。
例:用户上传的图片及附件等和程序做好分离。这样才能更方便我们做好授权,保证apache服务和整个服务器安全。
1)修改apache网站目录的属主和组
[[email protected]yu63 ~]# ll -sd /usr/local/apache2.2-yu/htdocs/
4 drwxr-xr-x 2 root root 4096 Jun 29 2013 /usr/local/apache2.2-yu/htdocs/
[[email protected]yu63 ~]# chown daemon:daemon /usr/local/apache2.2-yu/htdocs/ -R
[[email protected]yu63 ~]# ll -sd /usr/local/apache2.2-yu/htdocs/
4 drwxr-xr-x 2 daemon daemon 4096 Jun 29 2013 /usr/local/apache2.2-yu/htdocs/
分析:
2)保护apache日志:设置好apache日志文件权限
#对日志的授权,要将属主和属组都设置为root:
[[email protected]yu63 ~]# ll -sd /usr/local/apache2.2-yu/logs/
4 drwxr-xr-x 2 root root 4096 Aug 29 17:49 /usr/local/apache2.2-yu/logs/
[[email protected]yu63 ~]# ll /usr/local/apache2.2-yu/logs/
total 12
-rw-r--r-- 1 root root 702 Aug 29 17:55 access_log
-rw-r--r-- 1 root root 1590 Aug 29 17:55 error_log
-rw-r--r-- 1 root root 6 Aug 29 17:55 httpd.pid
-rw-r--r-- 1 root root 0 Aug 29 17:49 ssl_request_log
分析:由于apache日志的记录是由apache的主进程进行操作的,而apache的主进程又是root用户启动的,所以这样不影响日志的输出。这也是日志记录的最安全的方法。
-------------------------------------------------------------------
错误页面优雅显示
分析:
为了提升网站的用户体验,避免404,403之类的丑陋的默认错误提示出现。我们需要对错误页面进行优化,让他们发的漂亮一点。错误页面不仅在于告诉用户访问出现了问题,而且需要引导用户到正确的页面。
错误页面优雅化显示的实现方式主要有两种,下面我们主要以404错误为例:
方法一:
[[email protected]yu63 ~]# vim /usr/local/apache2.2-yu/conf/httpd.conf #在根目录的标签中添加以下红色标记内容。
132 <Directory "/usr/local/apache2.2-yu/htdocs">
。。。
159 ErrorDocument 404 /404.html
160 </Directory>
注:#将404错误跳转到/usr/local/apache2.2-yu/htdocs下的404.html页面上
创建404测试页:
[[email protected]yu63 ~]# echo "404 go to home" > /usr/local/apache2.2-yu/htdocs/404.html
重启:
[[email protected]yu63 ~]# /etc/init.d/apachectl-yu restart
方法二:
在apache的虚拟主机配置文件httpd-vhost.conf中的<VirtualHost*:80></VirtualHost>中添加ErrorDocument配置。
[[email protected]yu63 ~]# vim /usr/local/apache2.2-yu/conf/httpd.conf #添加以下红色内容
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/www/html"
ServerName www.yu.cn
ServerAlias yu.cn
CustomLog "|/usr/local/sbin/cronolog /app/logs/www_access_%Y%m%d.log" combined
ErrorLog "|/usr/local/sbin/cronolog /app/logs/www_error_%Y%m%d.log"
ErrorDocument 404 http://www.yu.cn #将404错误跳转到http://www.yu.cn页面上
</VirtualHost>
总结:ErrorDocument的命令栺式如下:
ErrorDocument 错误代码 跳转到的页面戒文件
另外这里需要注意,你若设置跳转到文件,必须要有这个文件才行。另外文件必须在站点目录内,不然会报错。在跳转到文件的测试中,我用全路径和别名路径进行测试,当把404错误页面跳转文件放到其他目录的时候,不报错,但是页面跳转不过去。
-------------------------------------------------------------------
启用压缩模块mod_deflate
分析:
网站随着用户访问量的增加和内容量的增加,网站的带宽会不断的增加,随之就是网站成本的增加。并且当内容量增大的时候,客户端如果带宽小,就会影响用户的体验。因此从这两方面考虑,网站的某些内容必须经过压缩之后再传给用户,然后在用户客户端进行解压,来实现双方共赢的效果。
apache的压缩要用到mod_deflate模块,该模块提供了DEFLATE输出过滤器,允许服务器在将输出内容収送到客户端以前进行压缩,以节约带宽。它的核心思想就是把文件先在服务器进行压缩,然后再进行传输,这样可以显著减少文件传输的大小。当传输完毕后,客户端浏览器会重新对压缩过的内容进行解压缩。如果没特殊情况的话,所有的文本内容都应该能被gzip压缩,例如:html(php),js,css,xml,txt等。
mod_deflate模块:
1)mod_deflate没有安装出现以下内容
[[email protected]yu63 httpd-2.2.25]# /usr/local/apache2.2-yu/bin/apachectl -M | grep deflate
Syntax OK #出现这个说明没有安装。
2)mod_deflate安装了出现以下内容:
[[email protected]yu63 src]# /usr/local/apache2.2-yu/bin/apachectl -M | grep deflate
deflate_module (static) #弹出此种结果,则为编译安装时装的
[[email protected]yu63 src]# /usr/local/apache2/bin/apachectl -M | grep deflate
deflate_module (shared) #弹出此种结果,则为DSO方式安装的
下面为安装方法
1)编译时安装方法
编译的时候加上--enable-deflate即可实现安装
2)DSO方式安装。
扩展:DSO: Dynamic shared object动态共享对象 。DSO模块可以在编译服务器之后编译,也可以用Apache
使用DSO方式安装,/usr/local/apache2.2-yu/bin/apxs后跟的参数详解
| |
-c | 此选项表明需要执行编译操作。它首先会编译c源程序(.c)files为对应的目标代码文件(.c),然后连接这些目标代码和files中其余的目标代码文件(.c和.a),以生成动态共享对象dsofile。如果没有指定-s选项,则此输出文件名由files中的第一个文件名推测得出,也就是默认mod_name.so。 |
-i | 此选项表示需要执行安装操作,以安装一个戒多个动态共享对象到服务器的modules目录。 |
-a | 此选项自动增加一个LoadModule行到httpd.conf文件中,以激活此模块,戒者,如果此行已经存在,则启用之。 |
-------------------------------------------------------------------
DSO方式安装
[[email protected]yu63 filters]#cd /usr/local/src/httpd-2.2.25/modules/filters
#切到apache源码包mod_deflate所在的目录下
1)以dso的方式编译安装到apache中
[[email protected]yu63 filters]# /usr/local/apache2.2-yu/bin/apxs -c -i -a /usr/local/src/httpd-2.2.25/modules/filters/mod_deflate.c
2)检查mod_deflate是否安装
[[email protected]yu63 filters]# ll /usr/local/apache2.2-yu/modules/mod_deflate.so
-rwxr-xr-x 1 root root 61912 Aug 31 09:05 /usr/local/apache2.2-yu/modules/mod_deflate.so
#成功安装这里会显示出该文件
3)配置压缩参数
[[email protected]yu63 ~]# vim /usr/local/apache2.2-yu/conf/httpd.conf #确认下面这一行是打开的。默认是打开的。
54 LoadModule deflate_module modules/mod_deflate.so
#此行解锁后再进行下面操作,不然下面的操作会报错。
[[email protected]yu63 ~]# vim /usr/local/apache2.2-yu/conf/httpd.conf
57 <IfModule !mpm_netware_module>
58 <IfModule !mpm_winnt_module>
<ifmodule mod_deflate.c>
DeflateCompressionLevel 9
SetOutputFilter DEFLATE
DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript #仅压缩限制特定的MIME类型文件
</ifmodule>
注释:
<ifmodule mod_deflate.c>
DeflateCompressionLevel 9 #压缩等级,越大效率越高,消耗CPU也越高。
DeflateCompressionLevel 9是指压缩程度的等级,从1到9,9是最高等级。据了解,这样做最高可以减少8成大小的传输量(看档案内容而定),最少也能够节省一半。 DeflateCompressionLevel 预设可以采用 6 这个数值,以维持耗用处理器效能不网页压缩质量的平衡。
注:一般压缩等级使用6或8
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript #仅压缩,限制特定的MIME类型文件
</ifmodule>
注:
1、如果是虚拟机,需要在<VirtualHost*:80></VirtualHost>中添加配置即可实现压缩
2、图片本身就是压缩栺式,一般不需要压缩的。有些小图片压缩后还会发大。
4)apache优雅重启
[[email protected]yu63 ~]# /etc/init.d/apachectl-yu graceful
# graceful 重新启动Apache服务器,但不会中断原有的连接。用于修改了配置文件后进行重新读叏配置文件。
5)创建测试文件:
[[email protected]yu63 ~]# cp /etc/passwd /usr/local/apache2.2-yu/htdocs/passwd.html
6)测试数据传输过程中是否启用了压缩:
下面访问我们的网站,然后用火狐或者google浏览器的YSLOW插件进行压缩效果的查看
安装YSLOW插件
使用方法:
1、先打开Yslow插件
2、http://192.168.1.63/passwd.html
3、查看
#文件从原来的1.9K压缩到了0.7K。已经压缩。
总结:我们在企业生产环境中时,在启用mod_deflate时,一定要注意,对于太小的文件和某些栺式的图片不要对它们进行压缩,有可能越压越大。
-------------------------------------------------------------------
mod_expires: 设置网页缓存时间
分析:
虽然上面通过mod_deflate模块启用了压缩,从徆大程度上节约了企业带宽,降低了企业成本。可是由于现在越来越多的图片、脚本、css和flash被嵌入到页面中,当客户访问站点势必会做徆多次的http请求,因此我们还可以通过mod_expires缓存模块来设置ExpiresHeader来缓存这些文件。
Expires是通过header报文来指定特定类型的文件在浏览器中的缓存时间的。平时,大多数的图片,flash在収布之后都是不需要经常修改的,因此做了缓存之后,浏览器第一次从服务器下载之后,就不需要再从服务器下载这些文件而是直接从浏览器缓存中读叏了。这样客户访问页面的速度就会大大加快,企业的带宽压力也得到了缓解。
mod_expires模块检查及安装
[[email protected]yu63 ~]# /usr/local/apache2.2-yu/bin/apachectl -M | grep expires
expires_module (static) #此种结果为编译安装时装的
[[email protected]yu63 ~]# /usr/local/apache2.2-yu/bin/apachectl -M | grep expires
expires_module (shared) #此种结果为DSO方式安装的
-------------------------------------------------------------------
安装方法:
1)编译方式安装
编译的时候跟上--enable-expires即可实现安装
2)DSO方式安装
mod_expires模块DSO方式安装
1)切换目录
[[email protected]yu63 ~]# cd /usr/local/src/httpd-2.2.25/modules/metadata/ #切到apache源码包mod_expires所在的目录下
[[email protected]yu63 metadata]# ls mod_expires.c
mod_expires.c
2)以dso的方式编译安装到apache中
[[email protected]yu63 metadata]# /usr/local/apache2.2-yu/bin/apxs -c -i -a /usr/local/src/httpd-2.2.25/modules/metadata/mod_expires.c
3)检查mod_deflate是否安装,成功安装这里会显示出该文件
[[email protected]yu63 metadata]# ll /usr/local/apache2.2-yu/modules/mod_expires.so
-rwxr-xr-x 1 root root 37438 Aug 31 15:03 /usr/local/apache2.2-yu/modules/mod_expires.so
注意:如果我们是编译安装时已经编译进去的,要先解锁以下行,再进行下面操作,不然会报错。
[[email protected]yu63 ~]# vim /usr/local/apache2.2-yu/conf/httpd.conf #确认这一行是开启的。
55 LoadModule expires_module modules/mod_expires.so
-------------------------------------------------------------------
缓存的用法有3种,分别是对全局,对目录,对虚拟主机
测试:在没有配置之前先查看图片的缓存时间
#在网页中打开一张jpg格式的图片,看到他的缓存时间是11月9号
1)对全局
对全尿的配置就是在apache主配置文件httpd.conf的末尾加入如下参数即可
[[email protected]yu63 ~]# vim /usr/local/apache2.2-yu/conf/httpd.conf #在最后添加以下内容:
在57 <IfModule !mpm_netware_module>
58 <IfModule !mpm_winnt_module>
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 12 month" #缓存12个月的时间
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 plus 12 months"
ExpiresByType image/jpg "access plus 10 months" #dui JPG格式的图片缓存10个月的时间
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"
</IfModule>
重启服务:
[[email protected]yu63 ~]# /etc/init.d/apachectl-yu restart
这个时候缓存的时间就是9月10号了,正好少了两个月时间。
2)对目录
对目录的配置就是在apache主配置文件中<Directory></Directory>标签内,最后加入如下参数即可
[[email protected]yu63 ~]# vim /usr/local/apache2.2-yu/conf/httpd.conf
133 <Directory "/usr/local/apache2.2-yu/htdocs">
<IfModule mod_expires.c>
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 plus 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"
</IfModule>
</Directory>
3)对虚拟主机
对虚拟主机的配置就是在apache的虚拟主机配置文件httpd-vhost.conf中添加如下参数即可
[[email protected]yu63 ~]# vim /usr/local/apache2.2-yu/conf/httpd.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/www/html"
ServerName www.sunsky.pw
ServerAlias sunsky.pw
CustomLog "|/usr/local/sbin/cronolog /app/logs/www_access_%Y%m%d.log" combined
ErrorLog "|/usr/local/sbin/cronolog /app/logs/www_error_%Y%m%d.log"
<IfModule mod_expires.c>
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 plus 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"
</IfModule>
</VirtualHost>
#以上三种配置仸何一种配置之后,对apache服务器进行优化重启,然后用火狐戒者google浏览器的
注释:由于博客字符限制,剩余部分由下一篇介绍。
本文出自 “末班车” 博客,请务必保留此出处http://blxueyuan.blog.51cto.com/9673381/1871769
以上是关于实战LAMP之apache调优-1的主要内容,如果未能解决你的问题,请参考以下文章
20170825L08-05老男孩linux实战运维培训-Lamp系列之-Apache服务生产实战应用指南02