0
点赞
收藏
分享

微信扫一扫

【vue3】前端应用中使用WebSocket与服务器进行通信并管理连接状态。

得一道人 2023-08-11 阅读 42
nginx

Nginx

Nginx概念

一款高性能、轻量级Web服务软件,稳定性高,系统资源消耗低

对HTTP并发连接的处理能力高,单台物理服务器可支持30000~50000个并发请求

注意:实际操作之中,很多公司为了服务器的稳定,都会设置在20000个左右

Nginx的主要功能

静态文件服务:Nginx 可以直接提供静态文件的服务,例如 HTML、CSS、JavaScript、图像等,高效地处理并响应静态文件的请求

反向代理:Nginx 可以作为反向代理服务器,将客户端的请求转发给后端的多个服务器

它可以实现负载均衡、高可用性和故障转移,提供更好的性能和可靠性。

动态内容处理:Nginx可以与后端应用服务器(如 PHP-FPM、Node.js、Java 应用服务器等)配合使用,

 实现动态内容的处理和执行。它可以代理动态请求,并将请求的结果返回给客户端。

SSL/TLS 加密支持:Nginx 支持通过 SSL/TLS 对客户端和服务器之间的通信进行加密,提供安全的 HTTPS 连接

虚拟主机支持:Nginx 可以在同一台服务器上托管多个域名或站点,每个虚拟主机可以拥有独立的配置和资源

URL 重写和重定向:Nginx 支持灵活的 URL 重写和重定向规则,可以对请求的 URL 进行修改和重写,实现 URL 的美化和重定向

缓存机制:Nginx 自带缓存功能,可以缓存静态文件和动态内容,以减轻后端服务器的负载并提供更快的响应速度

日志记录:详细记录访问日志和错误日志,包括记录请求的详细信息,包括访问时间、请求路径、IP、响应状态等,

帮助进行故障排查和性能分析。

access.log:记录访问成功的记录

error.log:记录访问失败的记录

注:系统控制的日志在/var/log/messages中,只有自己的业务日志保存在日志的功能之中

可扩展性和灵活性:Nginx 的模块化架构和强大的配置选项使得它具有很高的可扩展性和灵活性

nginx 应用场景

静态服务器 (图片、视频服务、文本)

动态服务

反向代理,负载均衡

缓存服务

(面试1)Nginx如何实现高并发?

1.因为自身的代码,大量的代码进行了优化,同时自带一个epoll功能模块,支持高并发

2.Nginx是一个master进程控制多个work进程,master进程主要是负责收集和分发请求,work才是实际的执行者

每一个请求进来master都会拉起一个work进程来处理请求,work处理的请求的过程只受内存大小的影响,并且本身处理请求所占用

的内存也很小,所以可以处理大并发

master也负责监听work的状态(work的数量一般是cpu一致或者2倍),二者之间相互依赖相互补充

(面试2)Nginx为什么不使用多线程?

Apache: 创建多个进程或线程,而每个进程或线程都会为其分配 cpu 和内存

(线程要比进程小的多,所以worker支持比perfork高的并发),并发过大会耗光服务器资源

Nginx: 采用单线程来异步非阻塞处理请求(管理员可以配置Nginx主进程的工作进程的数量)(epoll),不会为每个请求分配cpu和内

存资源,节省了大量资源,同时也减少了大量的CPU的上下文切换。所以才使得Nginx支持更高的并发

安装Nginx服务

1.先去官网下载软件包

2.关闭防火墙,将安装nginx所需软件包传到/opt目录下

 3.安装依赖包

4.创建运行用户、组

(Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)

5.编译安装Nginx

6.检查、启动、重启、停止 nginx服务

nginx有两种进程:

master进程(主进程):管理工作进程,启动时读取配置文件

worker进程(工作进程):处理用户连接请求

7.添加nginx服务

如果在添加之前服务已经打开,需要先关服务,在添加打开

 8.创建目录/修改配置文件

举报

相关推荐

0 条评论