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 ...
随机推荐
- Codeforces Round #454
Masha and Bears Tic-Tac-Toe Shockers Seating of Students Party Power Tower Reverses
- java网络编程之socket(1)
网络编程是什么 网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机.数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外一个设备反馈的数据. ...
- class A<T> where T:new()相关知识点
来源:http://www.cnblogs.com/FredWang/p/4284251.html class A<T> where T:new() ===>>> ...
- 在YII2中使用redis
一.安装YII2的redis扩展 composer require --prefer-dist yiisoft/yii2-redis 二. 配置basic/config/web.php 在compon ...
- 使用Caffe预测遇到的问题
1. 在使用网络预测图像时, prediction = net.predict( [input_image] ) 出现: net.image_dims[0] 不是整数情况, (2).甚至以为np.ze ...
- Shiro从数据表中初始化资源和权限
之前在测试的Web工程下,我们在applicationContext.xml中配置了shiroFilter资源拦截器信息: <bean id="shiroFilter" cl ...
- Here comes Treble: A modular base for Android
On the Android team, we view each dessert release as an opportunity to make Android better for our u ...
- 流量监控---iftop
一.iftop是什么? iftop是类似于top的实时流量监控工具. 官方网站:http://www.ex-parrot.com/~pdw/iftop/ 二.iftop有什么用? iftop可以用来监 ...
- Linux内核crash/Oops异常定位分析方法
在内核开发的过程中,经常会碰到内核崩溃,比如空指针异常,内存访问越界.通常我们只能靠崩溃之后打印出的异常调用栈信息来定位crash的位置和原因.总结下分析的方法和步骤. 通常oops发生之后,会在串口 ...
- JavaScript进阶【二】JavaScript 严格模式(use strict)的使用
/*** *使用严格模式的原因: * ①:消除Javascript语法的一些不合理.不严谨之处,减少一些怪异行为; ②:消除代码运行的一些不安全之处,保证代码运行的安全: ③:提高编译器效率,增加运行 ...