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 ...
随机推荐
- Mac Terminal 快捷键
在Mac系统中并没有Home.End等键,所以在使用时并不是特别的顺手,但是有几个键位组合可以使Terminal的操作更加灵活方便. 1.将光标移动到行首:ctrl + a 2.将光标移动到行尾:ct ...
- 将自己的类封装为lib的方法
前言: Windows API中所有的函数都包含在dll中,其中有3个最重要的DLL. (1) Kernel32.dll 它包含那些用于管理内存.进程和线程的函数,例如CreateThread函数 ...
- 模拟试题A
模拟试题A 一.单项选择题(2′*12=24′) 1.下面各种坐标变换中,会产生变换前后维度的改变的是( ) A)建模变换 B)观察变换 C)投影变换 D)视口变换 2.下列描述深度缓冲消隐算法的特点 ...
- Shiro从数据表中初始化资源和权限
之前在测试的Web工程下,我们在applicationContext.xml中配置了shiroFilter资源拦截器信息: <bean id="shiroFilter" cl ...
- Day 13迭代器生成器
迭代器 1.迭代器就是迭代的工具,迭代也可以说成是重复,并且每一次重复都是基于上一次的结果而来的,在python中一切皆对象. 2.可迭代对象:只要拥有__iter__方法的对象都是可迭代对象. 3. ...
- C++进阶 STL(2) 第二天 一元/二元函数对象、一元/二元谓词、stack容器、queue容器、list容器(双向链表)、set容器、对组、map容器
01 上次课程回顾 昨天讲了三个容器 string string是对char*进行的封装 vector 单口容器 动态数组 deque(双端队列) 函数对象/谓词: 一元函数对象: for_each ...
- sudo详细介绍
目录参数所在/etc/sudoers 1.Host_Alias定义主机别名 例:Host_Alias FILESERVERS = fs1,fs2 #注意“=”号两边要有空格隔开 ***由于现今li ...
- django迁移数据库报错解决
迁移数据库时提示之前的项目中模型未引入 如图 我在创建新的工程时,迁移数据模型时发现出错,错误提示关联模型未被解决,提示的模型是之前项目中定义的,本项目并没有用到.于是在不知道错误原因下,我重装dja ...
- maven引入jsp相关依赖
<!--引入Servlet开始--> <dependency> <groupId>javax.servlet</groupId> <artifac ...
- Anaconda安装tensorflow遇到的问题(转)
tensorflow安装教程 1.找不到Anaconda Prompt 其他教程中说AnacondaPrompt在安装的Anaconda文件夹下面(如D:/Anaconda),但是我在安装中没有找到, ...