企业级Nginx Web服务优化实战
web优化一览总结表
|
优化类型 |
优化说明 |
优化方法 |
|
安全优化 |
修改nginx配置文件实现优化 server_tokens off; |
|
|
修改nginx源码配置文件 nginx-1.6.3/src/core/nginx.h ngx_http_header_filter_module.c nginx-1.6.3/src/http/ngx_http_special_response.c |
||
|
修改nginx默认用户,利用配置文件参数实现 修改nginx默认用户,采用编译参数方式实现 |
||
|
性能优化 |
woker_processes 8 一般和CPU的核数设置一致;高并发可以和CPU核数2倍 |
|
|
利用worker_cpu_affinity进行优化 4颗CPU优化配置参数为0001 0010 0100 1000 2颗CPU优化配置参数为0101 1010 |
||
|
利用use epoll参数修改事件模型为epoll模型 事件模型指定配置参数放置在event区块中 |
||
|
利用worker_connections连接参数进行调整 用户最大并发连接数=worker进程数*worker连接数 |
||
|
利用worker_rlimit_nofile参数进行调整(65535) |
||
|
利用sendfile on开启高效传输模式 tcp_nopush on表示将数据积攒到一定的量再进行传输 tcp_nodelay on表示将数据信息进行快速传输 |
||
|
keepalive_timeout优化客户端访问nginx服务端超时时间 client_header_timeout优化服务端读请求头超时时间 client_body_timeout优化两个请求主体发送间隔超时时间 send_timeout优化两个响应信息的间隔超时时间 |
||
|
安全优化 |
client_max_body_size设置客户端请求报文主体最大尺寸 |
|
|
性能优化 |
优化利用FastCGI与PHP连接缓冲信息 优化利用FastCGI与PHP连接缓存信息 |
|
|
利用gzip命令进行对数据信息压缩优化 从而节省网站带宽资源 |
||
|
利用location匹配相应要缓存的信息,利用expires参数结合时间信息进行缓存。 |
||
|
日志优化 |
进行日志文件轮询切割 部分日志内容不进行记录,节省系统磁盘空间 对日志文件进行授权 |
|
|
在动态解析配置前面,设置限制特定目录下扩展名文件解析 限制指定目录uri信息访问,利用禁止策略和返回错误状态码 限制用户访问,利用白名单和黑名单方式 禁止非法域名解析访问企业网站 |
||
|
安全优化 |
根据HTTP referer实现防盗链 根据cookie防盗链 通过加密变换访问路径实现防盗链 在产品设计上解决盗链方案 |
|
|
感知优化 |
对错误代码实行本地页面跳转 优雅显示错误页面放到本地单独目录下,进行优雅显示 改变状态码为新的状态码,并显示指定的文件内容 错误状态码URL重定向 将错误状态码重定向到一个location |
|
|
安全优化 |
只将用户上传数据的目录设置为755,用户和组使用nginx 其余目录和文件为755/644,用户和组使用root |
|
|
利用robots.txt机器人协议防止爬虫(君子协议) 利用$http_user_agent变量阻止爬虫代理访问(2种方法) 利用程序开发验证码信息,阻止进行爬虫 |
||
|
利用$request_method限制请求方法 |
||
|
全面优化 |
||
|
利用程序或反向代理实现架构访问分离解耦优化 |
||
|
安全优化 |
利用nginx –c参数启动nginx多实例,使master进程让普通用户管理 |
|
|
利用limit_conn_zone参数和$binary_remote_addr变量限制nginx单IP地址并发连接数 利用limit_conn_zone参数和$server_name r变量限制nginx虚拟主机总连接数 |
||
|
||
企业级Nginx Web服务优化实战的更多相关文章
- Linux实战教学笔记38:企业级Nginx Web服务优化实战(下)
四,Nginx站点目录及文件URL访问控制 4.1 根据扩展名限制程序和文件访问 Web2.0时代,绝大多数网站都是以用户为中心多的,例如:bbs,blog,sns产品,这几个产品都有一个共同特点,就 ...
- Linux实战教学笔记37:企业级Nginx Web服务优化实战(上)
一,Nginx基本安全优化 1.1 调整参数隐藏Nginx软件版本号信息 一般来说,软件的漏洞都和版本有关,这个很像汽车的缺陷,同一批次的要有问题就都有问题,别的批次可能就都是好的.因此,我们应尽量隐 ...
- Nginx web服务优化 (一)
1.Nginx基本安全优化 a.更改配置文件参数隐藏版本 编辑nginx.conf配置文件增加参数,实现隐藏Nginx版本号的方式如下.在nginx配置文件nginx.conf中的http标签段内加入 ...
- nginx web服务优化
nginx基本安全优化 1. 调整参数隐藏nginx软件版本号信息 软件的漏洞和版本有关,我们应尽量隐藏或消除web服务对访问用户显示各类敏感信息(例如web软件名称及版本号等信息),这样恶意的用户就 ...
- 企业级NginxWeb服务优化实战(下)
企业级NginxWeb服务优化实战(下) 4. Nginx站点目录及文件URL访问控制 4.1 根据扩展名限制程序和文件访问 Web2.0时代,绝大多数网站都是以用户为中心多的,例如:bbs,blog ...
- 企业级NginxWeb服务优化实战(上)
企业级NginxWeb服务优化实战(上) 1. Nginx基本安全优化 1.1 调整参数隐藏Nginx软件版本号信息 一般来说,软件的漏洞都和版本有关,这个很像汽车的缺陷,同一批次的要有问题就都有问题 ...
- 2-4、nginx特性及基础概念-nginx web服务配置详解
Nginx Nginx:engine X 调用了libevent:高性能的网络库 epoll():基于事件驱动event的网络库文件 Nginx的特性: 模块化设计.较好扩展性(不支持模块动态装卸载, ...
- 02·nginx进阶·服务优化配置管理
企业场景常用的Nginx http功能模块汇总 ngx_ http_ core_ module 包括-些核心的http 参数配置,对应Nginx的配置为HTTP区块部分 ngx_ http _acce ...
- Nginx Web服务应用
Nginx 指令目录 Nginx 介绍 Nginx 编译安装 Nginx 功能模块 Nginx 目录结构 Nginx 配置文件 Nginx 虚拟主机配置 Nginx 状态信息功能配置 Nginx 错误 ...
随机推荐
- 我的wmware
1.vmware 网络连接方式 NAT 模式: 虚拟机的IP 是由NAT分配的,电脑环境无论如何变化,都不会影响虚拟机 好处:在家.学校.公司,连接虚拟机都可以使用相同的ip地址 桥接模式: 只要更换 ...
- 使用 get post 注意事项
快速判断: 如下情况使用GET方法:客户端与服务端的交互像是一个提问(如查询操作.搜索操作.读操作) 如下情况使用POST方法: 1.交互是一个命令或订单(order),比提问包含更多信 ...
- MVC5 数据注解和验证
①利用数据注解进行验证 ②创建自定义的验证逻辑 ③模型元数据注解的用法 ①先创建数据源 1,创建我们的Model Order 2,创建控制器带EF 选择模型为Order 当你运行的时候会报错,需要代 ...
- SQL批量添加,更新,删除
SQL语句: 存储过程: 代码: 这里说的是关于SQL的批量操作数据. 需要准备: 三层框架:利用 动软代码生成器(可以快速生成增删改查) 生成三层 Model,BLL,Dal ①DbHelpeSQL ...
- 在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境
近几年大数据越来越火热.由于工作需要以及个人兴趣,最近开始学习大数据相关技术.学习过程中的一些经验教训希望能通过博文沉淀下来,与网友分享讨论,作为个人备忘. 第一篇,在win7虚拟机下搭建hadoop ...
- Linux查看日志命令- more、less、tail、head命令的区别
参考:https://blog.csdn.net/caib1109/article/details/52195942 1.more 2.tail 3.less 4.cat 5.head
- linux各种抓包情况说明
大家都知道抓包指令:tcpdump 抓包的主要目的是测试端口.网络协议通不通,以及对抓取的数据包进行分析.测试,抓包对熟悉linux的大神都不陌生,网络对于我来说也是一窍不通,只是在这里记录一下 ...
- jwplayer
将JW Player嵌入到网页中非常的简单,只需要进行如下3个步骤: 1.解压mediaplayer-viral.zip文件,将jwplayer.js和player.swf文件拷贝到工程中: 2.在页 ...
- php第四节(循环和函数)
<?php //循环有 for(){}.有while(){} 有do{}while().foreach(){}循环 //1.for(){} for($i=0;$i<=9;$i++){ ec ...
- date 参数(option)-d
记录这篇博客的原因是:鸟哥的linux教程中,关于date命令的部分缺少-d这个参数的介绍,并且12章中的shell编写部分有用到-d参数 date 参数(option)-d与--date=" ...