本期我们来说一说nginx
Nginx介绍
nginx是俄罗斯人lgor Sysoev(伊戈尔.塞索耶夫)开发的一款高性能HTTP和反向代理服务器。
Nginx以高效的epoll、kqueue、eventport作为网络IO模型,在高并发场景下、Nginx能够轻松支持5W并发连接数的响应,并且消耗的服务器内存、CPU等系统资源消耗却很低,运行非常稳定。
Nginx优化
当想要让nginx支持5W并发,甚至百万的并发,都是可以的,但需要做很多的优化工作,如:
想至少支持5W并发基本调优
1、服务器内存、CPU硬件支持,如8核16线程、32G内存的服务器
2、磁盘使用SSD、或者购买至少15000转SAS企业硬盘,做成RAID 0
3、安装光纤网口
4、使用linux系统,如centos 7,优化内核参数,对TCP连接的设置。
5、优化nginx.conf中并发相关的参数,如
worker_processes 16;
worker_connectins 50000;
国内著名站名,新浪博客、网易、淘宝、豆瓣、讯雷等大型网站都在使用Nginx作为web服务器或是反向代理。
如何不会配置nginx晓煜这边给大家推荐个网址。这里有前后端的nginx配置。
https://www.digitalocean.com/community/tools/nginx?global.app.lang=zhCN
在企业他们都用Nginx做啥?
1.提供静态页面展示,网页服务
2.提供多个网站、多个域名的网页服务
3.提供反向代理服务(结合动态应用程序)
4.提供简单资源下载服务(密码认证) ftp服务
5.用户行为分析(日志功能)
nginx是怎么运行的,他的运行流程是?
Nginx 的运行主要依赖于 master-worker 架构,其运行流程包括了请求的接收、分发处理和反向代理等环节。具体分析如下:
- Nginx的架构与进程
- Master进程:该进程负责读取和解析配置文件,管理其下的worker进程,处理信号以及进行热部署等工作。它通过fork系统调用创建worker子进程,实现与子进程的通信。
- Worker进程:这些进程由master进程fork生成,是实际处理客户端请求的执行者。每个worker进程互相独立,且都采用异步非阻塞方式处理请求,能够高效地处理大量并发连接。
- Nginx处理HTTP请求的阶段
- 初始化阶段:在Nginx启动后,master进程负责读取和解析nginx.conf配置文件,然后创建一定数量的worker进程。一般情况下,worker进程的数量与服务器的CPU核心数相等。
- 监听与接受阶段:worker进程开始监听指定的端口,等待客户端的连接请求。当一个连接到达时,其中一个worker进程会被唤醒来处理该请求。
- 处理请求头:在接收到请求后,worker进程开始读取和解析HTTP请求头,这一阶段主要是为后续的处理准备必要的信息。
- 请求处理阶段:根据请求的内容,Nginx会决定直接返回静态资源还是将请求反向代理给后端的应用程序服务器(如Tomcat)进行处理。
- 响应返回阶段:完成请求处理后,worker进程将响应发送回客户端,然后继续等待新的连接请求。
- Nginx的反向代理机制
- 静态内容处理:如果请求的是静态资源,Nginx可以直接从磁盘读取文件并返回给用户,这种处理方式简单快速,不需要经过后端应用处理。
- 动态内容处理:对于动态内容的请求,Nginx通常会将请求转发给后端的应用程序服务器来处理,例如将请求转发给Tomcat等应用服务器,并将应用服务器的响应返回给客户端。
本文暂时没有评论,来添加一个吧(●'◡'●)