一、更改进程数
###编辑主配置文件
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 wait)
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 -s
netstat -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
模块:安全加密; -
ngx_http_gzipmodule
:网络传输压缩模块; -
ngx_http_proxy_module
模块:实现代理; -
ngx_http_upstream_module
模块:实现定义后端服务器列表; -
ngx_cache_purge
:实现缓存清除功能。
六、Nginx反向代理会话保持
-
ip_hash
、url hash
、客户端IP一致性哈希算法hash $remote_addr consistent
,是基于客户端IP/访问的URL做哈希缓存实现会话保持。 -
sticky cookie insert
,需要安装第三方的sticky模块,基于cookie来判断实现会话保持。 - 配置后端应用服务器共享session或使用后端服务器自身通过相关机制保持session同步实现会话保持
文章来源地址https://www.toymoban.com/news/detail-473442.html
文章来源:https://www.toymoban.com/news/detail-473442.html
到了这里,关于【Web服务器】Nginx常见问题(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!