|
随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,今天我们来看看nginx的gzip压缩到底是怎么压缩的呢?
gzip(GNU-ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会块得多。gzip 的压缩页面需要浏览器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析。浏览器那里不需要我们担心,因为目前的巨大多数浏览器 都支持解析gzip过的页面。
Nginx的压缩输出有一组gzip压缩指令来实现。相关指令位于http{….}两个大括号之间。
gzip on;
//该指令用于开启或关闭gzip模块(on/off)
gzip_min_length 1k;
//设置允许压缩的页面最小字节数,页面字节数从header头得content-length中进行获取。默认值是0,不管页面多大都压缩。建议设置成大于1k的字节数,小于1k可能会越压越大。
gzip_buffers 4 16k;
//设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。4 16k代表以16k为单位,安装原始数据大小以16k为单位的4倍申请内存。
gzip_http_version 1.1;
//识别http的协议版本(1.0/1.1)
gzip_comp_level 2;
//gzip压缩比,1压缩比最小处理速度最快,9压缩比最大但处理速度最慢(传输快但比较消耗cpu)
gzip_types text/plain application/x-javascript text/css application/xml
//匹配mime类型进行压缩,无论是否指定,”text/html”类型总是会被压缩的。
gzip_vary on;
//和http头有关系,加个vary头,给代理服务器用的,有的浏览器支持压缩,有的不支持,所以避免浪费不支持的也压缩,所以根据客户端的HTTP头来判断,是否需要压缩
nginx 配置gzip段如下:
gzip on;
gzip_min_length 1k;
gzip_buffers 16 64k;
gzip_http_version 1.1;
gzip_comp_level 6;(通过我亲自测试配置成6和9的差别不大,只有0.1%-0。2%差别,1和比较小了,不建议配置,差别大)
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
nginx域名绑定
nginx可把多个域名规则写一个配置文件里,也可分别建立多个域名配置文件,我一般为了管理方便,每个域名建一个文件。
有些同类域名也可写在一个总的配置文件里。
一、每个域名一个文件的写法
首先打开nginx域名配置文件存放目录:/usr/local/nginx/conf ,如要绑定域名www.vps.com 则在此目录建一个文件:www.vps.com.conf 然后在此文件中写规则,如:
server
{
listen 80;
server_name www.vps.com; #绑定域名
index index.htm index.html index.php; #默认文件
root /home/www/xqs.cn; #网站根目录
include location.conf; #调用其他规则,也可去除
}
然后重起nginx服务器,域名就绑定成功了
nginx服务器重起命令:nginx -s> 二、一个文件多个域名的写法
一个文件添加多个域名的规则也是一样,只要把上面单个域名重复写下来就ok了,如:
server
{
listen 80;
server_name www.vps.comn; #绑定域名
index index.htm index.html index.php; #默认文件
root /home/www/web1.com; #网站根目录
include location.conf; #调用其他规则,也可去除
}
server
{
listen 80;
server_name xxx.vps.com; #绑定域名
index index.htm index.html index.php; #默认文件
root /home/www/xxx.vps.com; #网站根目录
include location.conf; #调用其他规则,也可去除
}
三、不带www的域名加301跳转
如果不带www的域名要加301跳转,那也是和绑定域名一样,先绑定不带www的域名,只是不用写网站目录,而是进行301跳转,如:
server
{
listen 80;
server_name vps.com;
rewrite ^/(.*) http://www.vps.comn/$1 permanent;
}
四、添加404网页
添加404网页,都可又直接在里面添加,如:
server
{
listen 80;
server_name www.vps.comn; #绑定域名
index index.htm index.html index.php; #默认文件
root /home/www/xqs.cn; #网站根目录
include location.conf; #调用其他规则,也可去除
error_page 404 /404.html;
}
nginx优点:
1,占用资源少,效率高; 2,能处理高并发; 3,能实现应用层的负载均衡,
4,具有反向代理的功能,可以用他搭建cdn
下面部分引用来自网络
(Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性:
作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟>主机提供商的欢迎。能够支持高达 50,000 个并发连接数的响应,感谢 Nginx 为我们选择了 epoll and kqueue 作为开发模型.
作为负载均衡服务器:Nginx 既可以在内部直接支持 Rails 和 PHP,也可以支持作为 HTTP代理服务器 对外进行服务。Nginx 用 C 编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。
作为邮件代理服务器: Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验。
Nginx 安装非常的简单,配置文件 非常简洁(还能够支持perl语法),Bugs非常少的服务器: Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够在 不间断服务的情况下进行软件版本的升级。 )
|
|
|
|
|
|
|