nginx基础优化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx基础优化相关的知识,希望对你有一定的参考价值。
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中
[[email protected] 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标签中。
[[email protected] 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基础优化的主要内容,如果未能解决你的问题,请参考以下文章
优化 C# 代码片段、ObservableCollection 和 AddRange
Nginx——Nginx启动报错Job for nginx.service failed because the control process exited with error code(代码片段