nginx|Nginx优化与防盗链

Nginx优化与防盗链
隐藏Nginx版本号,避免安全漏洞泄露
第一种方法:修改配置文件
1.进nginx.conf文件

[root@zzz ~]# cd /usr/local/nginx/conf/ [root@zzz conf]# vim nginx.conf

nginx|Nginx优化与防盗链
文章图片

2.重启服务,验证
[root@zzz conf]# systemctl restart nginx.service

【nginx|Nginx优化与防盗链】nginx|Nginx优化与防盗链
文章图片

也能通过命令获取
nginx|Nginx优化与防盗链
文章图片

第二种方法:修改源码法
nginx|Nginx优化与防盗链
文章图片

nginx|Nginx优化与防盗链
文章图片

nginx|Nginx优化与防盗链
文章图片

make && make install

[root@zzz nginx-1.12.2]# cd /usr/local/nginx/conf/ [root@zzz conf]# vim nginx.conf

nginx|Nginx优化与防盗链
文章图片

重启服务
systemctl restart nginx

nginx|Nginx优化与防盗链
文章图片

修改Nginx用户与组
修改的方法
第一种:编译安装时指定用户与组
第二种:修改配置文件指定用户与组
nginx|Nginx优化与防盗链
文章图片

nginx|Nginx优化与防盗链
文章图片

配置Nginx网页缓存时间
当Nginx将网页数据返回给客户端后,可设置缓存的时间,以方便在日后进行相同内容的请求时直接返回,避免重复请求,加快了访问速度
一般针对静态网页设置,对动态网页不设置缓存时间
nginx|Nginx优化与防盗链
文章图片

重启服务
[root@zzz conf]# systemctl restart nginx.service

nginx|Nginx优化与防盗链
文章图片

实现Nginx的日志切割
编写脚本进行日志切割的思路
  • 设置时间变量
  • 设置保存日志路径
  • 将目前的日志文件进行重命名
  • 重键新日志文件
  • 删除时间过长的日志文件
  • 设置cron任务,定期执行脚本自动进行日志分割
脚本内容如下
nginx|Nginx优化与防盗链
文章图片

在脚本倒数第二行 PID_PATH加上$符号
nginx|Nginx优化与防盗链
文章图片

nginx|Nginx优化与防盗链
文章图片

配置Nginx实现连接超时
为避免同一客户端长时间占用连接,造成资源浪费,可设置相应的连接超时参数,实现控制连接访问时间
超时参数
Keepalive_timeout
设置连接保持超时时间
Client_header_timeout
指定等待客户段发送请求头的超时时间
Client_body_timeout
设置请求体读超时时间
[root@zzz nginx]# cd /usr/local/nginx/conf/ [root@zzz conf]# vim nginx.conf

nginx|Nginx优化与防盗链
文章图片

systemctl restart nginx

nginx|Nginx优化与防盗链
文章图片

更改Nginx运行进程数
默认情况,Nginx的多个进程可能跑在一个CPU上,可以分配不同的进程给不同的CPU处理,充分利用硬件多核多CPU
[root@zzz conf]# vim nginx.conf

nginx|Nginx优化与防盗链
文章图片

[root@zzz conf]# ulimit 10240 [root@zzz conf]# systemctl restart nginx.service

默认情况,Nginx的多个进程可能跑在一个CPU上,可以分配不同的进程给不同的CPU处理,充分利用硬件多核多CPU
在一台4核物理服务器,进行配置,将进程进行分配
重启服务
[root@zzz conf]# systemctl restart nginx

配置Nginx实现网页压缩功能
  • Nginx的ngx_http_gzip_module压缩模块提供对文件内容压缩的功能
  • 允许Nginx服务器将输出内容在发送客户端之前进行压缩,以
    约网站带宽,提升用户的访问体验,默认已经安装
  • 可在配置文件中加入相应的压缩功能参数对压缩性能进行优化
压缩功能参数
gzip on: 开启gzip压缩输出
gzip_min_length 1k: 设置允许压缩的页面最小字节数
gzip_buffers 4 16k:申请4个单位为16k的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来存储gzip压缩结果
gzip_http_version 1.0: 设置识别http协议版本,默认是1.1,目前大部分浏览器已经支持gzip解压,但处理较慢,也比较消耗服务器CPU资源
gzip_comp_level 2: 指定gzip压缩比,1压缩比最小,处理速度最快; 9压缩比最大,传输速度快,但处理速度最慢
gzip_types text/plain:压缩类型,对哪些网页文档启用压缩功能
gzip_vary on:让前端缓存服务器缓存经过gzip压缩的页面
[root@zzz conf]# vim nginx.conf

nginx|Nginx优化与防盗链
文章图片

gzipon; gzip_min_length 1k; gzip_buffers 4 64k; gzip_http_version 1.1; gzip_comp_level 6; gzip_vary on; gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss image/jpg image/jpeg image/png image/gif application/x-httpd-php application/javascript application/json;

[root@zzz conf]# systemctl restart nginx.service [root@zzz conf]# cd .. [root@zzz nginx]# cd html/ [root@zzz html]# vim index.html

nginx|Nginx优化与防盗链
文章图片

打开网页验证
nginx|Nginx优化与防盗链
文章图片

配置Nginx防盗链
[root@zzz html]# cd /usr/local/nginx/conf [root@zzz conf]# vim nginx.conf

nginx|Nginx优化与防盗链
文章图片

location ~* \.(jpg|gif|jpeg|swf)$ { root html; expires 1d; valid_referers none blocked *.kgc.com kgc.com; if ( $invalid_referer ) { rewrite ^/ http://www.kgc.com/error.png; } }--------------------------------------------------------------- ~* \.(jpg|gif|swf)$ :这段正则表达式表示匹配不区分大小写,以.jpg或.gif或.swf 结尾的文件; valid_referers : 设置信任的网站,可以正常使用图片; none: 允许没有http_refer的请求访问资源(根据Referer的定义,它的作用是指示一个请求是从哪里链接过来的,如果直接在浏览器的地址栏中输入一个资源的URL地址,那么这种请求是不会包含 Referer字段的) 如 http://www.kgc.com/13.jpg 我们使用http://www.kgc.com 访问显示的图片,可以理解成http://www.kgc.com/13.jpg这个请求是从http://www.kgc.com这个连接过来的blocked:允许不是http://开头的,不带协议的请求访问资源; *.kgc.com:只允许来自指定域名的请求访问资源,如 http://www.kgc.comif语句:如果链接的来源域名不在valid_referers所列出的列表中,$invalid_ referer为true,则执行后面的操作,即进行重写或返回403页面。

[root@zzz conf]# systemctl restart nginx.service

准备一台盗链机
先安装nginx服务(这里不做演示,有需要看上一章博客)
nginx|Nginx优化与防盗链
文章图片

[root@localhost html]# vim index.html

nginx|Nginx优化与防盗链
文章图片

开浏览器验证
nginx|Nginx优化与防盗链
文章图片

``

    推荐阅读