文章目录
- 一、更改进程数
- 二、Nginx 调优方式(Time out连接过多)
- 1. 软件优化
- 2. 系统内核优化
- 三、 Nginx 模块类别
- 四、查看Time wait 连接过多的方式
- 五、Nginx常用模块
一、更改进程数
###编辑主配置文件
vim /usr/local/nginx/conf/nginx.conf#user nobody;
worker_processes 2;
worker_cpu_affinity 01 10;envents{###写入epoll模型use epll;###每个工作进程的最大连接数worker_connections 10240;
}
二、Nginx 调优方式(Time out连接过多)
1. 软件优化
优化内容 | 设置方式 |
---|---|
隐藏版本号 | server_tokens off; |
设置运行用户/组 | 方法一:配置文件中修改user 用户组 组名; 方法二:编译时直接设置 |
页面缓存时间 | expires 时间; |
连接保持超时 | keepalive_timeout 服务器超时时间 [客户端超时时间] ; |
设置工作进程数 | worker_processes auto/同CPU数量 ; worker_cpu_affinity 绑核 |
设置并发 | worker_rlimit_nofile worker_connections |
网页压缩 | gzip on; |
防盗链 | rewrite |
IO模型 IO多路复用 | events { use epoll; } |
2. 系统内核优化
文件 | 设置方式 |
---|---|
/etc/security/limits.conf | * soft nofile 65535 打开文件数 * hard nofile 65535 * soft nproc 65535 打开进程数 * hard nproc 65535 * soft memlock unlimited 内存锁定不限制 * hard memlock unlimited |
/etc/sysctl.conf | net.ipv4.tcp_syncookies =1 开启SYNCookies net.ipv4.tcp_tw_reuse = 1 允许将TIME-WAIT sockets重新用于新的TCP连接, net.ipv4.tcp_tw_recycle = 1 开启TCP连接中TIME-WAIT sockets的快速回收 net.ipv4.tcp_fin_timeout = 30 修改系统默认的fin TIMEOUT 时间 net.ipv4.ip_local_port_range = 1024 65000 外向连接的端口范围 net.ipv4.tcp_syn_retries = 2 net.ipv4.tcp_max_syn_backlog = 262144 net.ipv4.tcp_keepalive_time = 600 |
三、 Nginx 模块类别
模块名 | 含义 |
---|---|
http_gzip_static_module | 网页压缩模块 |
http_stub_status_module | 状态统计模块 |
http_rewrite_module | URL重写模块 |
http_auth_basic_module | 用户认证模块 |
http_fastcgi_module | fastcgi转发php-fpm模块 |
http_ssl_module | https 安全加密认证模块 |
http_proxy_module | 请求转发模块 |
http_upstream_*_module | 反向代理负载均衡模块 |
http_ stream_*_module | 四层反向代理模块 |
http_limit conn module | 限制最大连接数模块 |
http_limit reg module | 限制最大访问频率模块 |
四、查看Time wait 连接过多的方式
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'ss -snetstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn###统计TIME_WAIT 连接的本地地址
netstat -an | grep TIME_WAIT | awk '{print $4}' | sort | uniq -c | sort -n -k1
五、Nginx常用模块
rewrite
模块,实现重写功能;access
模块:来源控制;ssl
模块:安全加密;ngxhttp_gzipmodule
:网络传输压缩模块;ngx_http_proxy_module
模块:实现代理;ngx_http_upstream_module
模块:实现定义后端服务器列表;ngx_cache_purge
:实现缓存清除功能。