z7369 发表于 2018-11-14 11:29:50

nginx 配置资料 整理(一)

  随着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不间断运行,即使运行数个月也不需要重新启动。你还能够在 不间断服务的情况下进行软件版本的升级。 )

页: [1]
查看完整版本: nginx 配置资料 整理(一)