Nginx 架构篇

Nginx 常见问题

1.相同server_name 多个虚拟主机优先级访问

按照nginx读取配置文件显示顺序读取

location 优先级匹配

1.=				进行普通字符精确匹配 也就是完全匹配    		精确匹配优先级最高
2.^~			表示普通字符匹配 使前缀匹配
3.~ \~* 			表示执行一个正则匹配

try_files s使用

按顺序检查文件是否存在
location / {
	root /opt/files
	try_files $uri @java_page
}
location @java_page{
	proxy_pass http://192.146.55.25:9999
}

如何获取用户真实IP

ip1 - ip2 - ip3 -ipn

set x_real_ip = $remote_addr

其他

nginx 413 request entity too large

1.用户上传文件限制	 client_max_body_size 

502 bad gateway  后端服务无响应

504 gateway timeout  后端服务响应超时

Nginx 性能优化

1.性能优化考虑点
	1)当前系统结构瓶颈  观察指标 压力测试 
	2)了解业务模型
	3)性能和安全
	
2.压测工具ab
	yum install -y httpd-tools
	ab -n 2000 -c 22 接口
		-n总请求数
		-c并发数
		-k是否开启keepalive
		栗子:
		ab -n 1000 -c 1000 -p D:\software\httpd-2.4.41-o102s-x86-vc14-r2\Apache24\bin\param.txt -T application/json http://127.0.0.1:8080/app/order/createOrder

3.系统与nginx性能优化

系统与Nginx性能优化

木桶效应

网络
系统(硬件软件)
服务
程序
数据库 底层服务

1.文件句柄
linux\unix 一切文件  文件句柄就是一个索引
设置方式 	默认1024 	10240
全局 局部 进程修改
	查看 句柄数 ulimit -n
	lsof -p 【PID】查看进程PID打开的文件句柄详细信息
	lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more 查看当前进程打开了多少句柄数 其中第一列是打开的句柄数,第二列是进程ID。

2.cpu亲和优化  减少CPU切换损耗

	查看当前有多少CPU
	cat /proc/cpuinfo | grep "physical id" | sort | uniq |wc -l
	查看多少核心
	cat /proc/cpuinfo | grep "cpu cores" | uniq
		
	相乘得到多少核心
	
	cpu亲和配置 
	worker_processes 相乘得到多少核心;
	worker_cpu_affinity
	或者worker_cpu_affinity auto;  1.9版本以后出来的

	查看nginx使用的CPU
	ps -eo pid,args,psr |grep [n]ginx;

 3.worker_limit_nofile 65535;
 4.事件驱动器
 	events{use epoll;worker_connections 10240; 每个worker处理10240*worker_processes}
 5.字符集
 	charset utf-8;	

Nginx 安全

1.常见恶意行为
	爬虫 恶意抓取 资源盗用  	
	referer
	secure_link_moudle	
	access_moudle 把后台功能提供IP防控
2.常见应用攻击手段
	1.后台密码撞库   解决:1.密码复杂度高  2.access_module 对后台提供IP访问  3.预警机制
	2.文件上传漏洞  解决 所有以upload路径的路径  判断文件 如果不符合如 .php .jps 返回403
	3.SQL注入 解决:
	4.频繁访问
	CCDeny="on"
	CCreat="10/1"   一秒10次一个IP
3.nginx攻防策略
4.Nginx+lua实现waf防火墙

Nginx漏洞和新版本漏洞

http://nginx.org/en/download.html 官网 CHANGES
posted @   苏子墨  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示