linux + nginx 的配置优化
linux 关于TCP/IP 的优化配置 配置文件/etc/sysctl.conf 修改完文件生效的命令 /sbin/sysctl -p
如下是总结的配置内容及说明
net.ipv4.conf.all.rp_filter=
net.ipv4.conf.default.rp_filter=
net.ipv4.conf.default.arp_announce = # 直接路由DR模式下要求arp_announce参数要求配置为2
net.ipv4.conf.lo.arp_announce=
net.ipv4.conf.all.arp_announce=
fs.file-max = # 打开文件句柄的数量
net.ipv4.tcp_tw_reuse = # 表示开启重用 允许TIME-WAIT sockets重新用于新的TCP连接
net.ipv4.tcp_keepalive_time = # 启用keepalive,tcp发送keepalive消息的频度
net.ipv4.tcp_fin_timeout = # 表示套接字FIN-WAIT-2状态超时时间
net.ipv4.tcp_tw_recycle= # 表示开启TCP连接中TIME-WAIT sockets的快速回收
net.ipv4.tcp_max_tw_buckets = # 系统同时保持TIME_WAIT套接字的最大数量对于nginx 设置5000-
net.ipv4.ip_local_port_range = # 设定系统打开端口的范围,即用于向外连接的端口范围
net.ipv4.tcp_rmem = # tcp对内存的使用
net.ipv4.tcp_wmem =
net.core.rmem_default =
net.core.wmem_default =
net.core.rmem_max =
net.core.wmem_max =
net.core.netdev_max_backlog = # 当每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许发送到队列的数据包最大数
net.ipv4.tcp_syncookies = # 表示开启SYN Cookies功能
net.ipv4.tcp_max_syn_backlog = # 设置SYN队列的长度
net.ipv4.tcp_synack_retries = # 决定了内核放弃连接之前发送SYN+ACK包的数量
net.ipv4.tcp_syn_retries = # 内核放弃建立连接之前发送SYN包的数量
nginx 的优化配置说明
全局 worker_proceses ; cpu数量最佳与系统cpu数一直 “grep ^processor /proc/cpuinfo | wc -l”在linux 运行该命令查看系统cpu数
worker_cpu_affinity ; 直接将nginx的worker进程绑定在固定的cpu上 nginx的进程跑在某一个CPU或CPU的某一个核上,导致nginx进程使用硬件的资源不均,绑定后可充分有效的利用有效的硬件资源
events use epoll; 使用epoll(linux2.6的高性能方式)
worker_connections ; 每个worker 连接的进程数
multi_accept on; 在接收到一个新请求尽可能多的连接
http proxy_buffer_size 4k; 指令设置缓冲区大小,从被代理的后端服务器取得的响应内容,会先读取放置到这里.
sendfile on; sendfile()可以在磁盘和TCP socket之间互相拷贝数据(或任意两个文件描述符),这种拷贝是在内核完成的,sendfile()要比组合read()和write()以及打开关闭丢弃缓冲更加有效
tcp_nopush on; tcp_nopush告诉nginx在一个数据包里发送所有头文件,而不一个接一个的发送
tcp_nodelay on; 不延时发送请求,on 禁用nagle缓存算法 nagle缓存算法,有些应用程序在网络通讯的时候会发送很少的字节,比如说一个字节,那么再加TCP协议本身,实际上发的要41个字节,这样的效率是很低的。这时候nagle算法就应运而生了,它将要发送的数据存放在缓存里,当积累到一定量或一定时间,再将它们发送出去。
keepalive_timeout ; 设置nginx的超时断开
allow 47.103.36.8; (location模块) 指定ip可以访问
deny all;(location模块) 禁用除允许ip外的所有ip的访问
linux + nginx 的配置优化的更多相关文章
- linux nginx常见问题及优化,压力测试,tomcat服务器优化
nginx常见问题 nginx优化全局配置优化[root@web2 nginx]# vim conf/nginx.confuser nobody;worker_processes 1;(与cpu核心数 ...
- Linux Nginx 安装配置
安装前准备工作 GCC编译器-程序代码编译工具! 首先检验你的服务器环境是否安装gcc,方法如下: #gcc 如果出现:gcc: no input files 证明已经安装过gcc编译工具! 如果出现 ...
- FastCGI介绍及Nginx fastcgi配置优化
FastCGI介绍 FastCGI是从CGI发展改进而来的.传统CGI接口方式的主要缺点是性能很差,因为每次HTTP服务器遇到动态程序时都需要重新启动脚本解析器来执行解析,然后结果被返回给HTTP服务 ...
- linux nginx 如何配置多个端口
在linux下发布.netcore 应用,并使用nginx进行反向代理,参照博客园文章 https://www.cnblogs.com/ants/p/5732337.html#autoid-7-3-0 ...
- Java高级架构师(一)第41节:Nginx的配置优化以及使用建议
- 5.9 Nginx的配置优化
- Nginx配置优化及深入讲解,大家可以听一下
随着访问量的不断增加,需要对Nginx和内核做相应的优化来满足高并发用户的访问,那下面在单台Nginx服务器来优化相关参数. 1) Nginx.conf配置优化: worker_proce ...
- nginx 配置优化的几个参数
nginx 配置优化的几个参数 2011-04-22 本文地址: http://blog.phpbean.com/a.cn/7/ --水平有限欢迎指正-- -- 最近在服务器上搞了一些nginx 研究 ...
- Nginx 之二: nginx.conf 配置及基本优化
一:常用功能优化: 1:网络连接的优化: 只能在events模块设置,用于防止在同一一个时刻只有一个请求的情况下,出现多个睡眠进程会被唤醒但只能有一个进程可获得请求的尴尬,如果不优化,在多进程的ngi ...
随机推荐
- 获取远程请求的IP地址、本机Mac地址和客户端Mac地址
我在近期项目里面去记录异常日志时,用到了这两个地址,也是从网上和前辈那里学习到的,本人项目是MVC框架的,自己整理了一个公共方法类,包括获取远程客户端IP和Mac地址,以及获取本机Mac地址的方法,代 ...
- Monad Maybe
在上一篇, 我们创建了第一个Monad,Indentity<T>, 它可能是最简单的Monad, 使我们可以快速了解Monad的模式,而不用陷入细节.接下来我们创建一个有用的Monad, ...
- 基于ACE的TAO开发---一个简单的入门实例-----VS2008(一)
万事开头难,不管做什么事最开始总是最困难的,一旦上手了就好了. 这也是我自己学习corba编程的一点经验和心得.下面的例子主要是保证读者跟着走能立马看到效果. 1.机器上的TAO是实现已经装好的开发版 ...
- (转载) IaaS, PaaS, Saas
如果你是一个网站站长,想要建立一个网站.不采用云服务,你所需要的投入大概是:买服务器,安装服务器软件,编写网站程序. 现在你追随潮流,采用流行的云计算,如果你采用 IaaS 服务,那么意味着你就不用自 ...
- 位姿检索PoseRecognition:LSH算法.p稳定哈希
位姿检索使用了LSH方法,而不使用PNP方法,是有一定的来由的.主要的工作会转移到特征提取和检索的算法上面来,有得必有失.因此,放弃了解析的方法之后,又放弃了优化的方法,最后陷入了检索的汪洋大海. 0 ...
- swift 类型备份
Swift语法3.03(类型Types) https://www.jianshu.com/p/839f9bc4b9a3 https://developer.apple.com/library/cont ...
- 优动漫PAINT核心功能介绍
优动漫PAINT是一款功能强大的动漫绘图软件,适用于个人和专业团队创作,分为个人版和EX版.搭载了绘制漫画和插画所需的所有功能——丰富的笔工具.超强的笔压感应和手颤修正功能,可分别满足画师对于插画.漫 ...
- Java桌球小游戏(兴趣制作)
两张图片放在src的同级目录下 版本一.出现窗口package cn.xjion.game;/** * 出现窗口 * @author xjion * */import java.awt.*;impor ...
- BZOJ 1303: [CQOI2009]中位数图 问题转化_扫描_思维
将比 b 大的设成 1,比 b 小的设成 -1,开个桶左右扫描一下,乘法原理乘一乘就好了. 虽然一眼切,不过这个基于中位数的转化还是相当重要的.middle 那个主席树的题也需要该做法 Code: # ...
- github配置单个及多个sshkey的操作方法
一.配置单个sshkey 配置SSHKey命令操作: git --version //检验git是否装好了 cd / cd ~/.ssh //到master目录下 ll //展示所有文件 ssh-ke ...