码迷,mamicode.com
首页 > 其他好文 > 详细

nginx基础优化

时间:2018-02-03 12:40:35      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:修改   mat   需要   浏览器   比较   extra   协议   oca   文件中   

1.nginx配置文件优化
将主配置文件中的虚拟主机相关配置分开,单独用一个配置文件表示,这样主配置文件更简洁,根据实际需要,只修改对应的配置文件即可,
如果后续虚拟主机配置较多时,也便于维护管理。
我们知道在apache conf目录下有extra目录,相关虚拟主机配置文件都在该目录中。
这里也借鉴apache的做法
在conf中创建extra目录

删除配置文件中server设置,改为包含文件的方式(在主配置文件中修改)
http {
xxxxxxxx -------->原始配置-----删除server和location配置
include extra/http_vhosts.conf-----------------------》添加,根据实际业务需求可以添加多个

}

修改后的nginx.conf配置文件如下
worker_processes 1;
error_log /application/logs/error.log crit;
events {
use epoll;
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘
‘$status $body_bytes_sent "$http_referer" ‘
‘"$http_user_agent" "$http_x_forwarded_for"‘;
sendfile on;
keepalive_timeout 65;

 include extra/http_vhosts.conf;

}

将server配置放到http_vhosts.conf中
[root@lnmp01 conf]# cat extra/http_vhosts.conf

server {
    listen       80;
    server_name  www.tiantian.org;
    location / {
        root   html;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

后续更改配置文件时可以直接修改http_vhosts.conf文件,也可以对每个server创建一个对应的included
文件。前面提到配置文件的优化,主配置文件更简洁,便于维护。
2.nginx模块优化-------》性能方面的优化

      2.1.Nginx expires模块优化

expires缓存对象(静态文件),如html,图片,css,js,xml。用户访问静态文件,第一次需要从服务端下载,只要不清空浏览器缓存且文件没有过期,
后续访问就不需要重新下载。节省服务器带宽同时减小了服务器压力,如果静态内容更新,可以在服务端更名发布,这样
对客户端来说就是新的文件,需要重新从服务端获取。-------------------》与apache的expires优化原理思想是一样的
这里通过localtion的功能,将需要缓存的扩展名列出来,然后指定缓存时间

          1.根据文件扩展名进行判断,添加expires功能

范例1:
location ~.*.(gif|jpg|png|bmp|swf)$
{
expires 3650d;
root html/www;
}

范例2:
location ~.*.(js|css)?$
{
expires 30d;
root html/www;
}
可以使用curl命令查看缓存功能,或者使用火狐浏览器插件YSlow和firebug
注意:location内容一般要放到虚拟主机配置中,即server标签中。
2.根据目录进行判断,添加expires功能
不希望被缓存的内容;
1.广告图片
2.网站流量统计文件

2.2Nginx gzip压缩模块优化

经过gzip压缩,可以降低带宽,提升访问速度
此功能同apache的deflate模块,依赖ngx_gzip_module模块,默认已安装
压缩配置
gzip on;
gzip_min_length 1k; -----允许压缩的最小字节数
gzip_buffers 4 16k; -------压缩缓冲区大小
gzip_http_version 1.0; -------压缩版本,识别http协议版本,默认是1.1
gzip_comp_level; 2---压缩比率----1压缩比最小,处理速度最快;9 压缩比最大,传输速度快,但处理慢,也比较消耗cpu资源
gzip_types text/plain application/x-javascript text/css application/xml;
压缩类型 text/html 类型总是会被压缩
gzip_vary on; ------
可以将压缩参数放到servre标签中。
[root@lnmp01 conf]# cat extra/http_vhosts.conf

server {
    listen       80;
    server_name  www.tuwei.org tuwei.org;
    location / {
        root   html/www;
        index  index.html index.htm;
    }

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;

压缩对象:
1.大于1k的纯文本文件,图片视频一般不压缩

    2.3 nginx错误页面优雅显示

如果首页文件不存在,则报403 Forbidden。
为了提升用户体验,访问页面出现403错误时,定位到403.html(即跳转迟到另一个页面)
server标签中 error_page 403 /403.html;《----此路径是相对于root html/www;

出现404错误时,定位到404.html
fastcgi_intercept_errors on;
error_page 404 /404.html;
自定义的404页面必须大于512字节,否则可能会出现IE默认的404页面即错误页面

nginx基础优化

标签:修改   mat   需要   浏览器   比较   extra   协议   oca   文件中   

原文地址:http://blog.51cto.com/tuwei/2068400

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!