nginx学习笔记
2021/6/13 7:21:26
本文主要是介绍nginx学习笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、简介
Nginx是一个高性能的http和反向代理的web服务器,特点是占有内存少,支持高并发,主要用的功能有反向代理、负载均衡、动静分离。
-
常用命令(到nginx的安装目录下):
启动——./nginx
停止——./nginx -s stop
重载——./nginx -s reload
查看版本——./nginx -v -
配置文件的三大部分:
1.全局块
影响整体运行的信息,比如worker数、日志位置、用户组等
2.Events块
主要影响服务器和用户之间的网连接数,如worker_connections,配置单个process的最大并发请求数
3.http块
实际项目中配置最为频繁的了,代理的路径、负载均衡、动静分离等都在这里配置
1)http全局块
包括日志自定义、连接超时时间、单链接的请求数上限等;
2)Server块
一个http块可以有多个server块,而一个server块就相当于一个虚拟主机。
Server块也分为全局server块和location块
a.Server块
配置本虚拟机的监听配置(端口)、名称或IP
b.Location块
一个server块可以有多个location块,这里主要是对nginx服务器收到的请求,除ip和端口外字符串进行匹配(如127.0.0.1:8080/getLIst,则匹配/getList),匹配后进行请求的转发等处理
二、主要的功能
1、反向代理
通过让用户配置路由,实现请求转发的叫正向代理,而nginx则是通过收到客户的请求后,转发到自己配置的服务器,用户不需要知道真正的服务器地址,只需要请求nginx的服务器即可,这种我们称之为反向代理。
2、负载均衡
一个请求对应对台服务器,有对应的配置并提供了4种负载均衡的策略。默认是轮询,除此之外还有权重、ip_hash(每个IP的请求会固定的转发到某台服务器)、fair(根据服务器的响应时间来转发请求)
- 权重
- ip_hash
- fair
3、动静分离
把对静态资源的请求和要转发的请求分隔开。还可以对静态资配置过期时间等,降低连接的开销
三、什么是高可用
当nginx服务器宕机后,需要自动切换到备用服务器;
这里是用keepalived中间件来实现,大致步骤是:主从服务器都安装keepalived后,在其配置文件中配置相关信息,并暴漏出一个或多个虚拟的ip,后续请求就直接请求到虚拟IP即可,实现nginx的高可用(主从模式原理)
四、原理
一个nginx启动后,有一个master进程和一个或多个worker进程。
- Master接收到请求后,通知所有worker去抢这个“工作”,由抢到的worker去执行对应的请求操作;
- Worker并非越多越好,一般看服务器的cpu数,如果能够实现cpu和对应的worker绑定,则效果最佳;
- Nginx最大连接数=worker_processworker_connection/2 或者
worker_processworker_connection/4; - Master-workers模式的好处:1、每个worker进程独立,省去了锁机制的开销;2、方便实现./nginx -s reload热部署的实现。
这篇关于nginx学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-17Nginx实用篇:实现负载均衡、限流与动静分离
- 2024-08-21宝塔nginx新增8022端口方法步骤-icode9专业技术文章分享
- 2024-08-21nginx配置,让ws升级为wss访问的方法步骤-icode9专业技术文章分享
- 2024-08-15nginx ws代理配置方法步骤-icode9专业技术文章分享
- 2024-08-14nginx 让访问带有/relid的地址返回404 ,例子 /relid-x-0.36-y-131.html-icode9专业技术文章分享
- 2024-08-14nginx 判断地址有/statics/的路径,指向到/home/html/statics/目录-icode9专业技术文章分享
- 2024-07-24解锁Nginx日志的宝藏:GoAccess——你的实时、交互式Web日志分析神器!
- 2024-03-29fail2ban nginx
- 2024-03-18install nginx proxy manager
- 2024-01-2444从零开始用Rust编写nginx,命令行参数的设计与解析及说明