Nginx现在已经是最火的web服务器之一,尤其在静态分离和负载均衡方面,性能十分优越。接下来我们主要看下Nginx在高并发环境下的优化配置,主要是针对 nginx.conf 文件的属性设置。我们打开 nginx.conf 文件,从上往下依次看下。

一、工作进程优化

#user nobody;
worker_processes ; #线程数,匹配服务器核心数目 #error_log logs/error_log; #可指定error_log日志的目录
#error_log logs/error_log notice;
#error_log logs/error_log info; #pid logs/nginx.pid #指定pid存放的路径

work_processes 是指 Nginx的工作进程数量,一般按照机器的CPU核数来设置,比如8核的服务就设置为8,16核的服务器,可设置为16。举例如下,

  • work_processes 4;#工作进程数量
  • worker_cpu_affinity 00000001 00000010 00000100 00001000;#为每个进程指定cpu

二、事件处理模型

events {
worker_connections ;
accept_mutex on;
multi_accept on;
use epoll;
}
  • worker_connections 102400; #每个工作进程允许的最大连接数。
  • accept_mutex on;
  • multi_accept on; # 打开同时接受多个新网络连接请求的功能。
  • use epoll; #使用高性能的 epoll 事件驱动,处理效率高。

     三、日志输出优化

  • ​nginx 允许自定义日志的优化输出,可以按照具体项目的需求定制。默认可以获得remote_addr、remote_user 和 http_user_agent、http_x_forwarded_for等属性。

    四、高效传输模式

    • sendfile on; # 开启高效文件传输模式。
    • tcp_nopush on; #需要在sendfile开启模式才有效,防止网络阻塞,积极的减少网络报文段的数量。将响应头和正文的开始部分一起发送,而不一个接一个的发送。

    五、开启传输压缩

    gzip on;# 这个属性主要是开启传输压缩功能,可以压缩传输的页面、js、json数据、图片等,占用更小的带宽,提高传输性能。

    经过上面的配置,大体如下

  

http {
include mine.types
default_type application/octet-scream; log_format main '$remote_addr - $remote_user [$time_local] "$request"'
'$status $body_bytes_sent "$http_referer"'
'"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access_log main; sendfile on; #高性能传输模式
tcp_nopush on; #keepalive_timeout ;
keepalive_timeout ; gzip on; #开启传输压缩
gzip_min_length 1k;
gzip_buffers 4k;
gzip_http_version 1.0;
gzip_comp_level ;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on; server {
listen ;
server_name localhost; ...

好了,上面就是简单的 nginx 并发性能优化,是不是很简单呢,大家可以抽空试一下哦。

Nginx优化配置,轻松应对高并发的更多相关文章

  1. Nginx优化具体,应对高并发

     nginx指令中的优化(配置文件) worker_processes 8; nginx进程数,建议依照cpu数目来指定.一般为它的倍数. worker_cpu_affinity 00000001 ...

  2. SpringCloud应对高并发的思路

    一.Eureka的高可用性 Eureka下面的服务实例默认每隔30秒会发送一个HTTP心跳给Eureka,来告诉Eureka服务还活着,每个服务实例每隔30秒也会通过HTTP请求向Eureka获取服务 ...

  3. Memcached笔记——(四)应对高并发攻击【转】

    http://snowolf.iteye.com/blog/1677495 近半个月过得很痛苦,主要是产品上线后,引来无数机器用户恶意攻击,不停的刷新产品各个服务入口,制造垃圾数据,消耗资源.他们的最 ...

  4. nginx + uWSGI 为 django 提供高并发

    django 的并发能力真的是令人担忧,这里就使用 nginx + uwsgi 提供高并发 nginx 的并发能力超高,单台并发能力过万(这个也不是绝对),在纯静态的 web 服务中更是突出其优越的地 ...

  5. 《即时消息技术剖析与实战》学习笔记10——IM系统如何应对高并发

    一.IM 系统的高并发场景 IM 系统中,高并发多见于直播互动场景.比如直播间,在直播过程中,观众会给主播打赏.送礼.发送弹幕等,尤其是明星直播间,几十万.上百万人的规模一点也不稀奇.近期随着武汉新型 ...

  6. nginx简介(轻量级开源高并发web服务器:大陆使用者百度、京东、新浪、网易、腾讯、淘宝等)(并发量5w)(一般网站apache够用了,而且稳定)

    nginx简介(轻量级开源高并发web服务器:大陆使用者百度.京东.新浪.网易.腾讯.淘宝等)(并发量5w)(一般网站apache够用了,而且稳定) 一.总结 1.在连接高并发的情况下,Nginx是A ...

  7. Memcached笔记——(四)应对高并发攻击

    近半个月过得很痛苦,主要是产品上线后,引来无数机器用户恶意攻击,不停的刷新产品各个服务入口,制造垃圾数据,消耗资源.他们的最好成绩,1秒钟可以并发6次,赶在Database入库前,Cache进行Mis ...

  8. Nginx中文详解、配置部署及高并发优化

      一.Nginx常用命令: 1. 启动 Nginx          /usr/local/nginx/sbin/nginxpoechant@ubuntu:sudo ./sbin/nginx2. 停 ...

  9. nginx性能优化(针对于高并发量仅供参考,并不是方案)

    目录 关于nginx.conf中的优化 配置nginx客户端网页缓存本地时间 nginx日志切割 nginx连接超时优化 Nginx 实现网页压缩功能 Nginx 实现防盗链功能 为目录添加访问控制 ...

随机推荐

  1. SceneView聚焦当前选中项

    编辑器代码如下所示: Selection.activeGameObject = indexer; // 方法一 SceneView.FrameLastActiveSceneView(); // 方法二 ...

  2. XGBoost 参数介绍

    XGBoost 的设置有三种参数:一般参数,提升参数和学习参数. 一般参数 取决于提升器,通常是树或线性模型提升参数 取决于选择的提升器的相关参数学习参数 取决于指定学习任务和相应的学习目标一般参数 ...

  3. LOJ 3158: 「NOI2019」序列

    题目传送门:LOJ #3158. 题意简述: 给定两个长度为 \(n\) 的正整数序列 \(a,b\),要求在每个序列中都选中 \(K\) 个下标,并且要保证同时在两个序列中都被选中的下标至少有 \( ...

  4. udp,select超时和recvfrom收不到数据原因

    wirshark抓包,发现有数据.但是select超时,直接recvfrom又失败. 代码中需要改进:select超时后,会移除fd_set集合中超时的那个句柄,所以每次要重新进行FD_SET,然后再 ...

  5. N种自动化测试框架(包含自动化和性能,总有一款适合你)

    不知不觉,分享的框架已经6个了(准确说应该是4个),仅仅是接口的. 这些框架都是最基础的框架,需要根据实际使用场景进行完善,大家就当练手实践吧. 不需要写代码的自动化框架 JMeter + Ant+ ...

  6. 11.面试思路&画图让抽象具体化(2)

    面试思路 题一:[二叉树的镜像] 操作给定的二叉树,将其变换为源二叉树的镜像. 分析:使用递归=>边界条件:节点为空,交换当前节点的左右节点. /** public class TreeNode ...

  7. Scrapy笔记(1)- 入门篇

    Scrapy笔记01- 入门篇 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架.可以应用在包括数据挖掘, 信息处理或存储历史数据等一系列的程序中.其最初是为了页面抓取(更确切来说, ...

  8. 【数论】[圆点坐标]P2508圆上的整点

    题目描述 求一个给定的圆\(x ^2 +y ^2 = r ^2\),在圆周上有多少个点的坐标是整数 Solution 圆上的点坐标通解:\(x = d\frac{v^2-u^2}{2},y = duv ...

  9. 熟悉 rsync 的功能及其特点

    提要 熟悉 rsync 的功能及其特点 掌握 rsync 语法及常用选项的功能 掌握 rsync 命令的三种基本使用方法 掌握如何筛选 rsync 的传输目标 掌握使用 rsync 进行镜像和增量备份 ...

  10. pose_graph的优化变量和优化函数

    1.优化变量 优化变量就是vertex,也就是pose,pose-graph的优化目标就是,调整所有vertex的位置来尽量满足所有边的约束. 上述的还是表层的理解,深一步理解: pose-graph ...