JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

一篇文章带你学会nginx中锁的使用,让你对锁豁然开朗

wys521 2024-10-04 07:01:36 精选教程 21 ℃ 0 评论

目录 总结送福利

1、nginx应用场景;静态web服务、反向代理、正向代理、负载均衡;

2、nginx实现代理功能的基石;accept锁

3、nginx实现文件操作的基石;线程池+自选锁+信号量+互斥锁+条件变量

简介

nginx应用场景,为什么先说nginx应用场景呢?因为我们的实现、使用锁、都是给予这个场景来决定的,场景就决定了我们组件的选择,或者锁的使用,都会考虑应用场景,

nginx中针对代理功能,我们采用的什么锁,以及怎么去实现,还有就是给予nginx实现静态web服务器时怎么使用锁来处理这么一个应用,


nginx应用场景

nginx应用场景在后端开发是一个非常重要的组件,通常nginx会给提供一些很丰富的功能。


nginx代码;(下图)



大家可以看到这里采用的是 openresty,openresty是nginx+lua,所以可以直接使用nginx的功能,

如果没有使用Lua,它里面就是nginx,也就是在nginx的基础上保证了一下lua,



我们先来看一下怎么使用这个功能,首先我们学院先打开这个文件,


首先我们要有一个conf文件夹,下面就需要放我们的nginx.corf


nginx启动的时候要依赖这个配置来进行启动,给大家简单介绍几个参数,我们需要指定
worker_processes进程它有几个,通常这个参数跟我们当前机器多少个核心是相关的,

如果我们是8核那我们就设置为8核(下图)


我这里就简单的设置了一下4,也就是说我们在这里启动四个进程,

nginx架构图

是采用一个多进程的架构,多进程架构是一个master进程对应多个work进程,那么是一个在吗启动模式呢?




之后客户端发送如何消息都会交由work进程进行处理,work进程最多处最大链接就是worker-connections4096(下图)


在这里还有一个htt的模块(下图)



我们的目的是实现静态web服务器,现在我们就需要去成放静态资源,可以看到server模块,

还会监听一个端口8888,(下图)


然后指定访问location/img路径(下图)


总结

由于时间问题今天就先介绍到这里详细教程关注+后台私信;资料;两个字可以免费领取 资料内容包括:C/C++,Linux,golang,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,嵌入式 等。。。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表