前言
在企业信息化应用环境中,服务器的安全性和响应速度需要根据实际情况进行相应的参数配置,达到最优的用户体验。默认的NGINX安装参数只能提供最基本的服务,还需要调整如网页时间,连接超时,网页压缩等相应参数,才能发挥服务器的最大作用。
一、配置Nginx隐藏版本号
1、隐藏NGINX版本号,避免安全漏洞泄露
①本地查看(查看头部信息) ②浏览器:可以直接在浏览器(谷歌)
2、Nginx隐藏版本号的方法
2.1、修改配置文件法
2.2、修改源码法
二、修改用户和组
若没有安装前创建用户,则在此服务中默认使用的是nobody 1、修改配置文件 2、修改属组属主,重启服务,查看服务状态
三、配置nginx网页缓存时间
1、当nginx将网页数据返回给客户端后,可设置缓存的时间,以方便在日后进行相同内容的请求时直接返回,避免重复请求,加快了访问速度。
2、一般针对静态网页设置,对动态网页不设置缓存时间 3、设置网页图片和缓存时间 4、日志分割设置脚本
4.1、设置脚本 4.2、实现NGINX的日志切割 随着nginx运行时间增加,日志也会增加。为了方便掌握nginx运行状态,需要时刻关注nginx日志文件。太大的日志文件对监控是一个大灾难,定期进行日志文件的切割。Nginx自身不具备日志分割处理的功能,但可以通过nginx信号控制功能的脚本实现日志的自动切割,通过linux的计划任务周期性地进行日志切割。
四、配置nginx实现连接超时
1、为避免同一客户端长时间占用连接,造成资源浪费,可设置相应的连接超时参数,实现控制连接访问时间。
2、超时参数:Keepalive_timeout------设置连接保持超时时间
3、client_header_timeout----指定等待客户端发送请求头的超时时间
4、Client_body_timeout----设置请求体读超时时间
五、更改进程数
1、最大闲置的worker进程 3个(最大闲置并不代表一定要保留)
2、最小运行的worker进程 1个(最少要有一个在运行的进程)
3、最少保留的worker进程 1个(最少要保留一个进程在运行)
4、查找核心数 5、更改进程数
六、网页压缩
七、盗链与防盗链
1、盗链 1.1、server端 1.1.1、进入html中 1.1.2、进入index.html插入文件 1.1.3、打开IP地址对应的NGINX网页 1.1.4、设置映射域名 2.1、盗链方 2.1.1、设置盗链方HTML设置 2.2.2、访问dog.com
八、防盗链
1、valid referers:设置信任的网站,即能引用相应图片的网站
2、None:浏览器中referer为空的情况,就是直接在浏览器访问图片
3、Blocked:referer不为空的情况,但是值被代理或者防火墙删除了,这些值不以http://或https://开头
4、后面的网址或者域名:referer 中包含相关字符串的网址
5、If语句如果来源域名不在valid referers所列出的列表中,$invalid referers为1,则执行后面的操作,即进行重写或返回403页面 6、防盗链
九、rewrite跳转
1、跳转 URL看起来更规范、合理,启企会将动态URL地址伪装成静态地址提供服务,网址换新域名后,让旧的访问跳转到新的域名上。服务端某些业务调整 2、反向代理/负载均衡 3、健康检查
4、nginx跳转需求的实现方式 4.1、使用rewrite进行匹配跳转 4.2、使用IF匹配全局变量后跳转 4.3、使用location匹配再跳转
5、rewrite放在server{},if{},location{}段中 5.1、location只对域名后边的除去传递参数外的字符串起作用
6、对域名或参数字符串 6.1、使用IF全局变量匹配 6.2、使用proxy_pass反向代理
十、NGINX正则表达式
1、常用的正则表达式元字符 2、rewrite命令语法 2.1、flag标记说明 3、location 分类 3.1、分类 3.2、location优先级 3.2.1、相同类型的表达式,字符串长的会优先匹配3.2.2、按优先级排列 4、比较rewrite和location 4.1、相同点:都实现跳转 4.2、不同点:rewrite是在同一域名内更改获取资源的路径 4.3、location是对一类路径做控制访问或反向代理,还可以proxy_pass到其他机器 4.4、rewrite会写在location里,执行顺序 4.4.1、执行server快里面的rewrite指令 4.4.2、执行location匹配 4.4.3、执行选定的location中的rewrite指令
总结
1、NGINX:处理静态请求的服务(擅长的功能)
2、特点:3-5万的理论值并发,受cpu与最大文件打开数影响
3、轻量级
4、功能丰富
5、缺点:默认是不支持集群的
6、配置文件组成 6.1、global 全局模块配置 6.2、http 模块配置 6.3、server 模块 6.4、location 匹配url,和路径
7、NGINX的模块 7.1、status\rewrite\FPM\virtual_host 虚拟主机(IP\域名\端口)\gzip\tokens off
8、优化:防盗链、隐藏版本、修改用户和组、缓存时间、日志分割、网页压缩(管理压缩比、最小压缩对象的大小、压缩保存的缓冲区个数和大小、前端缓存是否保存—》临时缓存文件\目录的权限调整)、连接超时、FPM、work工作进程.
|