静态资源合并加载
在nginx中使用nginx-http-concat可以把多个CSS和JS合并成一个请求的Nginx模块,对于Web性能优化非常有意义。apache可以用mod_concatx模块实现同样功能
wamp环境
LoadModule concatx_module modules/mod_concatx.dll
lamp环境
$ wget --no-check-certificat https://raw.githubusercontent.com/chenweiqi/apmod/master/mod_concatx/mod_concatx.c
$ ln -s /usr/local/apache/bin/apxs /usr/local/bin/apxs
$ apxs -c mod_concatx.c
$ apxs -iac mod_concatx.c
这种编译方式会自动安装Apache模块,安装成功后,可以在Apache 模块目录找到 mod_concatx.so,并且 conf/httpd.conf 配置也会加上 mod_concatx 模块信息
gzip压缩
HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度。这一般是指WWW服务器中安装的一个功能,当有人来访问这个服务器中的网站时,服务器中的这个功能就将网页内容压缩后传输到来访的电脑浏览器中显示出来.一般对纯文本内容可压缩到原大小的40%.这样传输就快了,效果就是你点击网址后会很快的显示出来.当然这也会增加服务器的负载. 一般服务器中都安装有这个功能模块的
去掉 #LoadModule headers_module modules/mod_headers.so 前面的注释#
去掉 #LoadModule deflate_module modules/mod_deflate.so 前面的注释#
去掉 #LoadModule filter_module modules/mod_filter.so 前面的注释#
<ifmodule mod_deflate.c>
DeflateCompressionLevel 6
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/php
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE image/svg+xml
</ifmodule>
DeflateCompressionLevel 6
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd- php
AddOutputFilter DEFLATE css js
多站点配置,http跳转至https
1.一台服务器配置多个二级域名站点,需要设置VirtualHost.首相要在conf/httpd.conf文件中去掉下面两句的注释:
#LoadModule vhost_alias_module modules/mod_vhost_alias.so #Include conf/extra/httpd-vhosts.conf再在文件conf\extra\httpd-vhosts.conf中写入VirtualHost,如下:
<VirtualHost *:80> DocumentRoot /yjdata/www/myblog (linux) DocumentRoot "D:/xampp/htdocs/cms" (windows) ServerName www.hbiger.com </VirtualHost>
有些lamp环境没有conf\extra\httpd-vhosts.conf文件,可将VirtualHost直接写在conf/httpd.conf文件中,但是也要将其中的"#NameVirtualHost *:80"语句的注释去掉
2.当我们的站点可以通过https访问时,我们需要将http的访问调至https.首先在conf/httpd.conf文件中去掉下面语句的注释:
#LoadModule rewrite_module modules/mod_rewrite.so
接着,一种方法是在网站根目录添加.htaccess文件:
<IfModule mod_rewrite.c> //.htaccess RewriteEngine On RewriteBase / RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.hbiger.com/$1 [R=301,L] </IfModule>
这样便实现了http访问站点时自动跳转至https,注意.htaccess文件必须保存为ANSI格式.
.htaccess文件的生效需要两步:
1.开启重启模块
2.同样的在httpd.conf 中找到下面的脚本,把None改成All
<Directory /> Options FollowSymLinks AllowOverride None </Directory>