实战LAMP之apache调优-1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实战LAMP之apache调优-1相关的知识,希望对你有一定的参考价值。

实战LAMPapache调优

 

 

前言:

   生产环境中,部署了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用户启动的,所以这样影响日志的输出。这也是日志记录的最安全的方法。

 

-------------------------------------------------------------------

错误页面优雅显示

分析:

    为了提升网站的用户体验,避免404403类的丑陋的默认错提示出现。我们需要对错页面行优化,让他们发的漂亮一点。错页面仅在告诉用户访问出现了问题,而且需要引导用户到正确的页面。

     

 页面优雅化显示的实现方式主要有两种,下面我们主要以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压缩,例如:htmlphp),jscssxmltxt等。

 

mod_deflate模块: 

1mod_deflate没有安装出现以下内容

[[email protected]yu63 httpd-2.2.25]# /usr/local/apache2.2-yu/bin/apachectl -M | grep deflate

Syntax OK #出现这个说明没有安装。

 

2mod_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即可实现安装

2DSO方式安装。

扩展:DSODynamic shared object态共享对象 DSO模块可以在编译服务器后编译,也可以用Apache

 

使用DSO方式安装,/usr/local/apache2.2-yu/bin/apxs后跟的参数详解

 

-c

此选项表明需要执行编译操作。它首先会编译c源程序(.cfiles为对应的目标代码文件(.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所在的目录下

 

1dso的方式编译安装到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是指压缩程度的等级,从199是最高等级。据了解,这样做最高可以减少8成大小的传输量(看档案内容而定),最少也能够节省一半。 DeflateCompressionLevel 预设可以采用 6 这个数值,以维持耗用处理器效能不网页压缩质量的平衡。

注:一般压缩等级使用68

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript #仅压缩,限制特定的MIME类型文件

</ifmodule>

 

注:

1、如果是虚拟机,需要在<VirtualHost*:80></VirtualHost>中添加配置即可实现压缩

2、图片本身就是压缩栺式,一般需要压缩的。有些小图片压缩后还会发大。

 

 

4apache优雅 

[[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

2http://192.168.1.63/passwd.html

 技术分享

3、查看

技术分享 

#文件从原来的1.9K压缩到了0.7K。已经压缩。

 

 

总结:我们在企业生产环境中时,在mod_deflate时,一定要注意,对太小的文件和某些栺式的图片要对它们行压缩,有可能越压越大。

-------------------------------------------------------------------

 

mod_expires: 设置网页缓存时间

分析:

     虽然上面通过mod_deflate模块用了压缩,从徆大程度上节约了企业带宽,降低了企业成本。可是由现在越来越多的图片、脚本、cssflash被嵌入到页面中,当客户访问站点势必会做徆多次的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

 

2dso的方式编译安装到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格式的图片,看到他的缓存时间是119

 

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

技术分享 

这个时候缓存的时间就是910号了,正好少了两个月时间。

 

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

LAMP实战之构建博客网站

20170830L08-06老男孩linux实战运维培训-Lamp系列之-Apache服务生产实战应用指南03

LAMP调优

LAMP架构之Discuz论坛(实战!!)

Docker-compose实战之搭建LAMP环境