Nginx 基础优化

Nginx 优化一条龙

摘要:Nginx是企业中最常用的web服务器,是由俄罗斯人用c语言开发出来的。并且采用epoll模型的工作方式使得他能够支持高并发请求,nginx有很多模块,能够通过模块来实现各种各样的功能,而今天学习的nginx优化实际就是依靠模块提供的功能从而让我们的web服务器性能更加出色,安全。稳定。

1.隐藏版本号

对比图未设置:

在nginx.conf中的http 字段里添加

server_tokens off;

2.隐藏web服务器名字

在实验1中虽然版本号没了,但是仍然知道我们web服务器是nginx 所以需要我们修改源码包来实现隐藏服务器类型

这个需要安装nginx时候就进行设置,因为在源码包中修改,然后需要make&&make install

贴一个网上的配置:

3.配置图片网页缓存expires

 

对比图:

location 只能写在server模块下面,不可以写在http模块下。

###############图片缓存设置#########
location ~ \.(gif|jpg|jpeg|png|bmp|ico)$ {
expires 1d;
}
location ~ .*\.(js|css)$ {

expires 1h;
}
####################################

设置后:

nax-age=86400s  代表缓存时间 86400s=1d 我们nginx设置的就是1d

4.keepalive连接超时设置

在学习http协议的时候就有出现长连接和短连接的概念,keepalive就是保持连接。为了用户体验一般网页都设置成keepalive,但是这个时间不能设置太长,否则客户端始终不断开连接会占用服务器资源,默认keepalice超时时间为65s 超过了以后客户端会提示408错误。

可以设置在http段  server 段 location段

########超时时间设置############
keepalive_timeout 65;
client_header_timeout 60; #等待请求头的超时时间
client_body_timeout 60;     #等待请求主体的超时时间
################################

5.网页压缩gzip

对比图:

########压缩设置###############
gzip on;
gzip_min_length 1k; #超过1k执行压缩,
gzip_buffers 4 16k; #申请四个单位16k的内存作为压缩缓冲区
gzip_http_version 1.1;#识别的协议版本默认1.1
gzip_comp_level 5;#压缩等级1-9 压缩等级是靠cpu的性能来置换的,不宜设置过高。
gzip_types image/jpeg image/gif image/png text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss; #执行压缩的文件类型

 

设置后:

 

6.nginx状态模块以及访问控制

 

有时候我们在监控nginx时候需要开启stub_status模块 。但是我们不想让别人访问到.可以通过访问控制来实现

##########开启状态模块 ###########
location ~ /ngx_status { #名字自定义访问url用的
stub_status on;
access_log off;
auth_basic “ngx_status”; #认证的名字随意取
auth_basic_user_file /var/www/html/user.conf; #认证文件路径需要通过 “htpasswd -c /var/www/html/user.conf 用户名“ 来创建
}

注意:htpasswd 需要下载 http-tools工具 

[root@jenkins html]# htpasswd -c /var/www/html/user.conf wang
New password:
Re-type new password:
Adding password for user wang

设置后效果如下:

7.自动索引之auto index

location ~ /download {

autoindex on;

}

Nginx 优化除了这些基本优化 还有 防盗链,alias别名,UA适配,防爬虫抓取,防止恶意压测,日志轮转。这些我会单独写成博客详细介绍。

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Loading...