Nginx简单学习与了解

Nginx简单学习与了解

为什么会有nginx

没有nginx会有哪些问题及怎么解决

我的理解 :在不使用微服务的情况下,一台服务器无法应对高并发的问题;可以部署多态相同的服务器,共同来处理这些

请求,这多台服务器存在一个问题:服务与服务之间的session不共享、怎么做到每台服务的处理的请求达到一个

合理的情况(防止请求都发到一台服务器上去)等等问题---nginx的出现就可以解决这些问题。

AI总结:

单台服务器无法应对高并发时,通常会部署多台相同应用的服务器做水平扩展。但多副本会带来两个问题:一是请求如何均匀分发、避免单台过载;二是 HTTP 无状态前提下,各节点 Session 不互通会导致用户状态丢失。

Nginx 作为接入层,通过 upstream 负载均衡解决流量分发(轮询/权重/ip_hash 等),并通过 ip_hash 或 sticky 机制可做 Session 保持;而彻底的 Session 共享通常配合 Redis 等外部存储实现,使应用无状态化。Nginx 在这个过程中承担流量入口、均衡与边缘治理的角色。

正向代理和反向代理

正向代理

在打游戏时,由于网络延迟,有时需要使用VPN或者加速器,核心原理:将客户端(游戏)的请求通过代理服务器(VPN或者加速器)访问目标服务器,目标服务器识别的是代理服务器的请求信息而非客户端的请求信息。

反向代理

我们在访问百度时,浏览器的地址栏永远是百度的域名,用户不知道真正访问百度的哪一台服务器。

区别

正向代理:是在客户端,用户配置的;

反向代理:是在服务端,用户无感知的。

nginx的主要功能

反向代理

客户端访问百度域名的案例。

负载均衡

  • 权重配置:服务器有多台,每台服务器的配置(内存、CPU等硬件)不同,想要给配置好的服务器分配更多的请求,配置低的服务器分配少的请求;通过nginx对服务器权重的配置,可以达到这一效果;
  • session保持问题:
    • 方案一:当用户访问服务时,如果是A服务器处理了这个请求,就将这个用户的session和IP绑定,每次都让这台服务器处理这个用户的请求;----存在的问题:这个服务挂了,就凉凉。
    • 方案二:用户的session信息存在redis中,用户的请求可以分发到任何一台服务器,session统一从redis中获取。

动静分离

静态资源(html、js、css等)放在nginx上,因为这些请求不需要后台处理,放在nginx上可以提高资源的响应速度。

安装nginx

https://nginx.org/en/download.html

Windows下安装

官网下载后,找一个纯英文路径,使用cmd命令之心nginx.exe文件运行即可,conf中默认监听的端口是80,启动后可以访问测试是否成功,成功页面如下:

Linux下载安装

官网 Linux 的 .tar.gz = 源码 ,解压后必须 ./configure && make && make install 才能出二进制,之后再改 nginx.conf 启动;

想要"解压改配置直接跑",得去拿静态编译的第三方二进制包。

注意事项

如果成功启动,测试访问失败,请检查对应端口的防火墙上对应端口是否已经放行。

Linux下常用命令

cmd 复制代码
##在nginx的sbin目录下
./nginx --启动
./nginx -s stop --停止,直接停止
./nginx -s quit --安全退出,保证进程安全的情况下,一项一项停止
./nginx -s reload --重新加载配置文件
ps aux|grep nginx --查看进程
相关推荐
Decay__8 小时前
18_MySQL 智能巡检方案 —— 巡检项清单 / 一键巡检脚本 / 健康评分
运维·数据库·sql·mysql·架构
天远API12 小时前
零信任架构实战:基于天远运营商三要素详版V即时版构建自动化消费电子大促电商平台高价值权益秒杀与优惠券防羊毛高并发实名核验网关
运维·人工智能·架构·自动化
Android系统攻城狮13 小时前
Linux FFmpeg深度解析之avcodec_default_get_encode_buffer调用流程与实战(二十八)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频
乐维_lwops14 小时前
案例解读:大型综合性科创产业园运维监控落地实践
运维·网络·人工智能·安全·it监控·国产运维智能体
番茄啊15 小时前
linux 开启xftp连接
linux·运维·服务器
IT利刃出鞘16 小时前
Docker Compose--解决修改配置后不生效的问题
运维·docker·容器
Lsetea16 小时前
Docker更新SSL证书后容器仍读旧文件:单文件挂载与目录挂载排查
运维·nginx·docker·https·ssl证书
Julien200416 小时前
管理机密(一)
运维·服务器·开发语言·学习方法
十碗饭吃不饱17 小时前
后端运维:网络联通、进程查询、Java服务启动脚本
java·运维·网络
好用斋17 小时前
拾光坞安装网盘聚合LitePan:把Docker命令翻译成图形界面
运维·docker·容器