nginx记录

一、代理

正向代理

正向代理,代理的是“客户端”,客户端是知道目标的,但目标不知道客户端是通过什么形式访问的。比如:浏览器通过vpn代理访问谷歌

反向代理

反向代理,转发代理到内网去,即反向代理“代理”的是服务器端,该过程对客户端是透明的,客户端无法感知。比如:访问百度时候,百度会转发到内部各服务器去计算请求生成资源应答

二、nginx

nginx是一款轻量级的web服务器、反向代理服务器,内存占用少,启动快,高并发,在互联网项目中广泛使用。使用c语言开发,扩展性好,第三方插件多,基于事件驱动的异步非阻塞处理模型。

nginx的master-worker模式

master进程:读取并验证nginx.conf配置文件,管理worker进程 worker进程:每一个Worker进程都维护一个线程(避免线程切换),处理连接和请求;注意Worker进程的个数由配置文件决定,一般和CPU个数相关(有利于进程切换),配置几个就有几个Worker进程。

思考:Nginx如何做到热部署?

所谓热部署,就是配置文件nginx.conf修改后,不需要stop Nginx,不需要中断请求,就能让配置文件生效!(nginx -s reload 重新加载/nginx -t检查配置/nginx -s stop)

通过上文我们已经知道worker进程负责处理具体的请求,那么如果想达到热部署的效果,可以想象:

方案一:

修改配置文件nginx.conf后,主进程master负责推送给woker进程更新配置信息,woker进程收到信息后,更新进程内部的线程信息。(有点valatile的味道)

方案二:

修改配置文件nginx.conf后,重新生成新的worker进程,当然会以新的配置进行处理请求,而且新的请求必须都交给新的worker进程,至于老的worker进程,等把那些以前的请求处理完毕后,kill掉即可。

Nginx采用的就是方案二来达到热部署的!

nginx常用指令

查看版本: 启动 停止 检查配置 重新加载配置:

nginx负载均衡算法
 
posted @ 2026-03-02 15:30  晨光静默  阅读(6)  评论(0)    收藏  举报