企业级Nginx Web服务优化实战

时间:2022-09-09 16:44:56

web优化一览总结表

优化类型

优化说明

优化方法

安全优化

  1. 隐藏nginx版本信息优化

修改nginx配置文件实现优化

server_tokens off;

  1. 修改nginx版本信息优化

修改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

  1. 修改nginx软件work_processes进程用户信息

修改nginx默认用户,利用配置文件参数实现

修改nginx默认用户,采用编译参数方式实现

性能优化

  1. 修改nginx软件work_processes进程数量

woker_processes 8

一般和CPU的核数设置一致;高并发可以和CPU核数2倍

  1. 优化nginx服务进程均匀分配到不同CPU进行处理

利用worker_cpu_affinity进行优化

4颗CPU优化配置参数为0001 0010 0100 1000

2颗CPU优化配置参数为0101 1010

  1. 优化nginx事件处理模型

利用use epoll参数修改事件模型为epoll模型

事件模型指定配置参数放置在event区块中

  1. 优化nginx单进程客户端连接数

利用worker_connections连接参数进行调整

用户最大并发连接数=worker进程数*worker连接数

  1. 优化nginx服务进程打开文件数

利用worker_rlimit_nofile参数进行调整(65535)

  1. 优化nginx服务数据高效传输模式

利用sendfile on开启高效传输模式

tcp_nopush on表示将数据积攒到一定的量再进行传输

tcp_nodelay on表示将数据信息进行快速传输

  1. 优化nginx服务超时信息

keepalive_timeout优化客户端访问nginx服务端超时时间

client_header_timeout优化服务端读请求头超时时间

client_body_timeout优化两个请求主体发送间隔超时时间

send_timeout优化两个响应信息的间隔超时时间

安全优化

  1. 优化nginx服务上传文件限制

client_max_body_size设置客户端请求报文主体最大尺寸

性能优化

  1. 优化nginx服务与FastCGI连接缓存与缓冲信息

优化利用FastCGI与PHP连接缓冲信息

优化利用FastCGI与PHP连接缓存信息

  1. 配置Nginx gzip压缩实现性能优化

利用gzip命令进行对数据信息压缩优化

从而节省网站带宽资源

  1. 配置Nginx expires实现让客户端缓存数据

利用location匹配相应要缓存的信息,利用expires参数结合时间信息进行缓存。

日志优化

  1. 配置Nginx服务相关日志操作

进行日志文件轮询切割

部分日志内容不进行记录,节省系统磁盘空间

对日志文件进行授权

  1. Nginx站点目录及文件URL访问控制

在动态解析配置前面,设置限制特定目录下扩展名文件解析

限制指定目录uri信息访问,利用禁止策略和返回错误状态码

限制用户访问,利用白名单和黑名单方式

禁止非法域名解析访问企业网站

安全优化

  1. Nginx图片及目录防盗链解决方案

根据HTTP referer实现防盗链

根据cookie防盗链

通过加密变换访问路径实现防盗链

在产品设计上解决盗链方案

感知优化

  1. Nginx错误页面的优雅显示

对错误代码实行本地页面跳转

优雅显示错误页面放到本地单独目录下,进行优雅显示

改变状态码为新的状态码,并显示指定的文件内容

错误状态码URL重定向

将错误状态码重定向到一个location

安全优化

  1. Nginx站点目录文件及目录权限优化

只将用户上传数据的目录设置为755,用户和组使用nginx

其余目录和文件为755/644,用户和组使用root

  1. Nginx防爬虫优化

利用robots.txt机器人协议防止爬虫(君子协议)

利用$http_user_agent变量阻止爬虫代理访问(2种方法)

利用程序开发验证码信息,阻止进行爬虫

  1. 利用Nginx限制请求访问

利用$request_method限制请求方法

全面优化

  1. Nginx网站CDN加速优化
  1. Nginx程序架构优化

利用程序或反向代理实现架构访问分离解耦优化

安全优化

  1. 使用普通用户启动Nginx

利用nginx –c参数启动nginx多实例,使master进程让普通用户管理

  1. 控制nginx并发连接数

利用limit_conn_zone参数和$binary_remote_addr变量限制nginx单IP地址并发连接数

利用limit_conn_zone参数和$server_name r变量限制nginx虚拟主机总连接数

  1. 控制客户端请求Nginx的速率
   

企业级Nginx Web服务优化实战的更多相关文章

  1. Linux实战教学笔记38:企业级Nginx Web服务优化实战(下)

    四,Nginx站点目录及文件URL访问控制 4.1 根据扩展名限制程序和文件访问 Web2.0时代,绝大多数网站都是以用户为中心多的,例如:bbs,blog,sns产品,这几个产品都有一个共同特点,就 ...

  2. Linux实战教学笔记37:企业级Nginx Web服务优化实战(上)

    一,Nginx基本安全优化 1.1 调整参数隐藏Nginx软件版本号信息 一般来说,软件的漏洞都和版本有关,这个很像汽车的缺陷,同一批次的要有问题就都有问题,别的批次可能就都是好的.因此,我们应尽量隐 ...

  3. Nginx web服务优化 (一)

    1.Nginx基本安全优化 a.更改配置文件参数隐藏版本 编辑nginx.conf配置文件增加参数,实现隐藏Nginx版本号的方式如下.在nginx配置文件nginx.conf中的http标签段内加入 ...

  4. nginx web服务优化

    nginx基本安全优化 1. 调整参数隐藏nginx软件版本号信息 软件的漏洞和版本有关,我们应尽量隐藏或消除web服务对访问用户显示各类敏感信息(例如web软件名称及版本号等信息),这样恶意的用户就 ...

  5. 企业级NginxWeb服务优化实战(下)

    企业级NginxWeb服务优化实战(下) 4. Nginx站点目录及文件URL访问控制 4.1 根据扩展名限制程序和文件访问 Web2.0时代,绝大多数网站都是以用户为中心多的,例如:bbs,blog ...

  6. 企业级NginxWeb服务优化实战(上)

    企业级NginxWeb服务优化实战(上) 1. Nginx基本安全优化 1.1 调整参数隐藏Nginx软件版本号信息 一般来说,软件的漏洞都和版本有关,这个很像汽车的缺陷,同一批次的要有问题就都有问题 ...

  7. 2-4、nginx特性及基础概念-nginx web服务配置详解

    Nginx Nginx:engine X 调用了libevent:高性能的网络库 epoll():基于事件驱动event的网络库文件 Nginx的特性: 模块化设计.较好扩展性(不支持模块动态装卸载, ...

  8. 02·nginx进阶·服务优化配置管理

    企业场景常用的Nginx http功能模块汇总 ngx_ http_ core_ module 包括-些核心的http 参数配置,对应Nginx的配置为HTTP区块部分 ngx_ http _acce ...

  9. Nginx Web服务应用

    Nginx 指令目录 Nginx 介绍 Nginx 编译安装 Nginx 功能模块 Nginx 目录结构 Nginx 配置文件 Nginx 虚拟主机配置 Nginx 状态信息功能配置 Nginx 错误 ...

随机推荐

  1. mac OS.NE开发环境搭建

    合肥程序员群:49313181.    合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入,申请备注填写姓名+技术+工作年限) Q  Q:408365330     E-Mail:eg ...

  2. Android 控件知识点,

    一.Android控件具有visibility属性,可以取三个值:visible(默认值)可见,invisible(不可见,但仍然占据原有的位置和大小,可以看做是变得透明了),gone(空间不仅不可见 ...

  3. 缺jstl.jar包导致的代码出现异常

    java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config 看报错中的红色部分,意思是缺类异常,再看后面蓝色粗体倾斜部分, ...

  4. js中的function

    Math方法详解 Math.sqrt(x)    计算X开平方 Math.sqrt(x,y)   计算xy Math.round(x)   计算x 四舍五入的值 getBoundingClientRe ...

  5. 《刺杀金正恩》1080p全高清无水印,附中文字幕 bt种子下载,附字母(百度网盘/360云盘)

    <刺杀金正恩>1080p全高清无水印,附中文字幕下载(百度网盘/360云盘) 种子和字幕下载地址: thunder://QUFlZDJrOi8vfGZpbGV8JUU5JTg3JTg3JU ...

  6. php 用户访问菜单页面&comma;必须登录,判断用户是否登录

    <pre name="code" class="python"># 本节课大纲: 一.空模块和空操作 1.空操作 function _empty($ ...

  7. ASP&period;NET中使用Server&period;Transfer&lpar;&rpar;方法在页间传值 实例

    以下代码在VS2008中测试通过 <%@ Page Language="C#" AutoEventWireup="true" CodeFile=&quot ...

  8. Toy Storage POJ 2398

    题目大意:和 TOY题意一样,但是需要对隔板从左到右进行排序,要求输出的是升序排列的含有i个玩具的方格数,以及i值. 题目思路:判断叉积,二分遍历 #include<iostream> # ...

  9. Entity Framework查询

    Entity Framework是个好东西,虽然没有Hibernate功能强大,但使用更简便.今天整理一下常见SQL如何用EF来表达,Func形式和Linq形式都会列出来(本人更喜欢Func形式). ...

  10. C&num;怎么调用百度地图Web API

    直接上代码: public ActionResult FindMileage() { string s; HttpWebRequest req = (HttpWebRequest)HttpWebReq ...