Nginx实例之优化

Posted 鄙人取个名字好难

tags:

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

1.调整 worker_processes

  nginx 进程数,可以按照逻辑cpu 数目来指定

# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq

# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l

2.最大化worker_connections

  Nginx Web服务器可以同时提供服务的客户端数。与worker_processes结合使用时,获得每秒可以服务的最大客户端数。最大客户端数/秒=工作进程*工作者连接数

3.启用Gzip压缩

  压缩文件大小,减少了客户端http的传输带宽,因此提高了页面加载速度

gzip on;                    #开启gzip压缩功能
gzip_min_length 10k;         #设置允许压缩的页面最小字节数; 这里表示如果文件小于10个字节,就不用压缩,因为没有意义,本来就很小.
gzip_buffers 4 16k;         #设置压缩缓冲区大小,此处设置为4个16K内存作为压缩结果流缓存
gzip_http_version 1.1;      #压缩版本
gzip_comp_level 2;   #设置压缩比率,最小为1,处理速度快,传输速度慢;9为最大压缩比,处理速度慢,传输速度快; 这里表示压缩级别,可以是0到9中的任一个,级别越高,压缩就越小,节省了带宽资源,但同时也消耗CPU资源,所以一般折中为6
gzip types text/css text/xml application/javascript;      #制定压缩的类型,线上配置时尽可能配置多的压缩类型!
gzip_disable "MSIE [1-6].";       #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
gzip vary on;    #选择支持vary header;改选项可以让前端的缓存服务器缓存经过gzip压缩的页面; 这个可以不写,表示在传送数据时,给客户端说明我使用了gzip压缩

4.浏览器本地缓存

##根据URI中的路径(目录)进行判断,添加expires功能范例
location ~ ^/(images|javascript|js|css|flash|media|static) / 
{
  expires 360d
}

##单个文件添加expires功能的范例
location ~ (robots.txt)
{
    expires 7d;
    break;
}

 

以上是关于Nginx实例之优化的主要内容,如果未能解决你的问题,请参考以下文章

web前端开发JQuery常用实例代码片段(50个)

Elasticsearch笔记九之优化

WEB服务器-Nginx之虚拟主机日志认证及优化

nginx 配置实例(sslproxycachegzipupstream等优化)

Nginx+PHP优化实例

Nginx优化之服务性能优化